1 2006-05-24 Peter Dennis Bartok <pbartok@novell.com>
4 - Fixed MouseUp, MouseDown and MouseMove to treat mouseevent.Button
6 - Fixed MouseMove to no longer switch pressed state unless the left
7 mouse button is pressed. Atsushi provided the original patch (#78485)
9 2006-05-24 Jackson Harper <jackson@ximian.com>
11 * ScrollBar.cs: New internal methods that allow us to change a
12 couple values on the scrollbar (the most common case is maximum
13 and large change) without getting multiple invalidates.
15 2006-05-24 Chris Toshok <toshok@ximian.com>
17 * DataGridTextBoxColumn.cs (Commit): only call SetColumnValueAtRow
18 if the value in the cell is different than it was before. This
19 keeps us from triggering a layout when we move around a datarid
20 with a highlighted cell.
21 (Edit): suspend layout when creating/positining the text box, and
22 resume passing false so we don't ever actually re-layout.
23 (ReleaseHostedControl): same.
24 (EnsureTextBox): reformat slightly, and set WordWrap to false.
26 * DataGridTextBox.cs (ProcessKeyMessage): it's not true that all
27 control-key sequences should go to the datagrid - remove that
28 lock. Also, modify the conditions under which we move between
29 cells when moving the cursor within a cell, and remove the "this"
30 and "base" from field accesses. We weren't even consistent, given
31 they all were in the base class.
33 2006-05-24 Atsushi Enomoto <atsushi@ximian.com>
35 * Binding.cs : (.ctor)
36 An obvious NRE fix for BindingTest.CtorNullTest().
38 2006-05-23 Chris Toshok <toshok@ximian.com>
40 * TextBoxBase.cs (get_Text): don't add a trailing newline, add
41 them between lines. This fixes some quirks editing cells in the
44 2006-05-23 Jackson Harper <jackson@ximian.com>
46 * TreeView.cs: Use begin/end update when doing expand/collapse all
47 so that we don't get flicker on the scrollbar.
49 2006-05-23 Jackson Harper <jackson@ximian.com>
51 * TreeNode.cs: Bounds are computed 'on the fly' now. This allows
52 treenode calculations to be independant of the painting code. To
53 do this nodes track a visible order which is calculated by the
55 - Call new methods for expanding/collapsing nodes. These methods
56 use scrollwindow so we don't have to update everything below the
58 * TreeView.cs: Refactored drawing and scrolling code. We don't
59 need to update nodes when drawing anymore or calculate scrollbar
61 - Added new methods for expanding/collapsing nodes. These methods
62 use ScrollWindow so as to not have to redraw all the nodes below.
63 * TreeNodeCollection.cs: Recalc visible order and scrollbars when
64 we add/remove nodes or sort.
65 - Handle removing the selected and the top node properly.
67 2006-05-23 Chris Toshok <toshok@ximian.com>
69 * DataGridTextBoxColumn.cs (Edit): set grid.is_editing to true.
70 maybe this should actually happen in the datagrid code?
71 (EndEdit): no need to invalidate anything, given that
72 ReleaseHostedControl causes the datagrid to relayout, which
73 invalidates everything anyway.
75 * DataGrid.cs (set_CurrentCell): remove duplicate check (it's also
77 (set_SelectionBackColor): call InvalidateSelection instead of
79 (set_SelectionForeColor): same.
80 (BeginEdit): Flesh this out a bit.
81 (CancelEditing): only do any of this if we're editing/adding.
83 (OnMouseDown): there's no need to cancel editing here, it's done
85 (SetCurrentCell): only invalidate the current row header if it's a
86 different row than the new one.
87 (ShiftSelection): fix this to work like MS does.
88 (ResetSelection): factor out the invalidation of selected_rows to
90 (SetDataSource): cancel any editing that's going on.
92 * DataGridColumnStyle.cs
93 (IDataGridColumnStyleEditingNotificationService.ColumnStartedEditing):
94 call the non-interface version.
96 * ThemeWin32Classic.cs (DataGridPaintColumsHdrs): intersect the
97 header rectangle with the clip rectangle so we don't redraw the
98 entire header for just a small area. Gets rid of the last flicker
99 when horizontally scrolling.
100 (DataGridPaintRow): same.
102 2006-05-23 Mike Kestner <mkestner@novell.com>
104 * ListViewItem.cs: remove size for line hack from LargeIcon layout.
105 * ThemeWin32Classic.cs: don't draw line. it's really the top of a
106 poorly placed checkbox on the MS control. Fixes Alex's unfiled
109 2006-05-23 Peter Dennis Bartok <pbartok@novell.com>
111 * PictureBox.cs: Fixed broken ControlStyles. Unit test no longer fails,
112 and this fixes #78493
114 2006-05-23 Miguel de Icaza <miguel@novell.com>
116 * Theme.cs (GetSizedResourceImage): Scale images if the proper
119 * FileDialog.cs: Do not change the background for the side bar as
120 it wont work nicely with the theme, and also reduces the artifacts
121 in rendering the icons (which I want to fix too).
123 * MimeIcon.cs (ResourceImageLoader): Load images from assembly
124 resources, not resgen resources.
126 (PlatformDefaultHandler): Pull images using the new API.
128 2006-05-23 Peter Dennis Bartok <pbartok@novell.com>
130 * Hwnd.cs (Dispose): Remove any pending exposures. XEventQueue holds
131 a reference to the hwnd and will not remove it unless there are
132 no pending exposures (fixes #78341)
133 * XplatUI.cs: Improved debug
135 2006-05-23 Atsushi Enomoto <atsushi@ximian.com>
137 * MenuAPI.cs : don't handle OnClick event when it was not the left
138 button. Fixed bug #78487.
140 2006-05-23 Mike Kestner <mkestner@novell.com>
142 * MenuAPI.cs: fix placement of submenus for multi-row menu bars, and
143 prefer submenus to the top menu for item lookup, to avoid popping down
146 2006-05-23 Alexander Olk <alex.olk@googlemail.com>
148 * ThemeWin32Classic.cs: Rewrote CPCPDrawScrollButton to drop
149 Graphics.FillRectangle as the visual results are really bad (even
150 on win). We now draw perfect arrows (and perfect shadows when the
151 scrollbar is disabled). Simplified CPDrawGrid. CPDrawGrid now uses
152 Pen.DashPattern to draw the dots of each line.
154 2006-05-22 Alexander Olk <alex.olk@googlemail.com>
156 * FileDialog.cs: Update the filename combobox when navigating through
157 the ListView with the cursor keys. Fixes part 7 of bug #78446.
159 2006-05-22 Mike Kestner <mkestner@novell.com>
161 * ListView.cs: raise SelectedIndexChanged on keyboard selection.
164 2006-05-22 Mike Kestner <mkestner@novell.com>
166 * ComboBox.cs: Refresh in EndUpdate to pick up all the dropped Paint
167 requests. Fix a misspelled parameter and a copy paste exception error
170 2006-05-22 Peter Dennis Bartok <pbartok@novell.com>
172 * ThemeWin32Classic.cs: Changed DefaultFont emSize from 8.25 to 8
173 to get the same width/height (5/13) on X11 as the default font has on
174 win32. This means that our DefaultFont emSize is smaller than the
175 the MS SWF equivalent (even thought the width/height stays the same)
177 2006-05-20 Jackson Harper <jackson@ximian.com>
180 * MdiWindowManager.cs:
181 * InternalWindowManager.cs: Make sure to use the border width from
184 2006-05-20 Jordi Mas i Hernandez <jordimash@gmail.com>
186 * PrintDialog.cs: Implements printer details
188 2006-05-19 Alexander Olk <alex.olk@googlemail.com>
190 * FileDialog.cs: Added focus handling for PopupButtonPanel.
191 Fixes part 1 and 2 of bug #78446
193 2006-05-19 Peter Dennis Bartok <pbartok@novell.com>
195 * XplatUIX11.cs (SetWindowPos): Recalculate client area size on resizes
196 instead of sticking to the first ever calculated value
198 2006-05-19 Mike Kestner <mkestner@novell.com>
200 * ComboBox.cs: fix mouse motion selection to use MousePosition and
201 PointToClient, since Capture is set. Fixes #78344.
203 2006-05-19 Mike Kestner <mkestner@novell.com>
205 * ListView.cs: match MS behavior in Details view where items are not
206 drawn if Columns.Count == 0.
207 * ThemeWin32Classic.cs: only highlight ListView selection if focused.
208 Use a separate pen to draw the check, since changing the width affects
209 the box as well. Fixes #78454.
211 2006-05-18 Miguel de Icaza <miguel@novell.com>
213 * ListView.cs: ArgumentOutOfRangeException, single versions of the
214 exception should throw the name of the invalid argument.
216 * FileDialog.cs (OnClickOpenSaveButton): Avoid crash in open if
217 there are no files listed.
219 2006-05-18 Jackson Harper <jackson@ximian.com>
221 * ThemeWin32Classic.cs: Don't use endcaps, they mess the drawing
224 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
226 * Control.cs: Brought back our old UpdateZOrder method as a private
227 function and switched our calls from UpdateZOrder to the new one.
228 This fixes the Paint.Net canvas disappearing bug.
230 2006-05-18 Jackson Harper <jackson@ximian.com>
233 * ThemeWin32Classic.cs:
234 * InternalWindowManager.cs: Move the drawing into the theme,
235 expose everything the theme should need from the window manager.
237 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
239 * XplatUIX11.cs (DefWndProc): WM_SETCURSOR: Assign the return value
240 from the call to NativeWindow to avoid walking up the parent chain
241 further than needed (speeds up setting cursors and avoids setting
242 the wrong cursor if a parent has another cursor defined)
243 * Cursor.cs: When loading an icon as cursor, MS uses the center of
244 the icon as hotspot, not what's contained as hotspot in the icon
245 file. This fixes the perceived drawing offset seen with Paint.Net
247 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
250 - Store the calculated rectangle in Hwnd object and use it when
251 setting the client size
252 - Force Toolwindows to always be type Dock, to ensure they're on top
254 2006-05-18 Mike Kestner <mkestner@novell.com>
256 * ComboBox.cs: first pass at ComboBox rework. Layout is more
257 consistent with MS positioning. IntegralHeight, ItemHeight, Sizing.
258 Correctly initialize textcontrol and ListBox on DropDownStyle changes.
259 Substantial refactoring to remove confusing nested classes. Coding
260 standard and Get+Set->property refactorings. Shift to index based
261 highlighting in ComboListBox instead of constantly using IndexOf and
262 Items[]. Add invalidations on resize for DropDownList to fix ugliness
263 in FileDialog growth. Draw borders manually since Simple mode needs
264 to look like two independent controls. Make listbox border
265 conditional to DropDownStyle. Improved OwnerDraw support.
267 2006-05-18 Sebastien Pouliot <sebastien@ximian.com>
269 * PaintEventArgs.cs: For 2.0, check for a null Graphics in the .ctor.
270 Don't set the disposed graphics to null, so we can throw the "right"
271 exception if the graphics is reused later (added a flag to avoid
272 double disposing). Some behaviours are different under 2.0 and are
273 filled under bug #78448.
275 2006-05-18 Peter Dennis Bartok <pbartok@novell.com>
277 * Control.cs: When double-buffering is enabled, we need to reset
278 our graphics context between paint calls. Otherwise, any
279 transformations and other alterations on the context will
280 become cumulative (#77734)
282 2006-05-18 Mike Kestner <mkestner@novell.com>
284 * ListView.cs: do focused item selection like MS on clicks.
285 Rework focus handling for ItemControl so LostFocus invalidates as
287 * ThemeWin32Classic.cs: only draw focus rectangle for ListViewItems if
288 the ListView ItemControl has focus.
290 2006-05-17 Peter Dennis Bartok <pbartok@novell.com>
292 * XplatUIX11.cs: If client_window ends up being width or height zero
293 due to border settings, move it off window inside whole_window (#78433)
295 2006-05-17 Alexander Olk <alex.olk@googlemail.com>
297 * Mime.cs: Shrink the mime file cache correctly.
299 2006-05-17 Alexander Olk <alex.olk@googlemail.com>
301 * ThemeWin32Classic.cs: Readded button focus drawing code. (#78429)
303 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
305 * XplatUIX11.cs (AddExpose): More sanity checks
307 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
310 - AddExpose: Don't add expose ranges outside the size of our
312 - Cast opacity values to Int32 to avoid crashes with certain
314 - Added disabled code paths that protect against illegal cross-
315 thread painting (Developers.exe)
317 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
319 * ProgressBar.cs: Invalidate the control when it's resized
320 since block size is based on control size. (#78388)
322 2006-05-16 Miguel de Icaza <miguel@novell.com>
324 * DataGrid.cs (SetDataBinding): per the discussion on irc, instead
325 of setting the incoming argument to the "reset" value, we set the
326 this.datamember to string.empty (before we were invalidating the
331 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
333 * Form.cs: Only apply transparency settings after the form
334 is created. (Fixes #77800)
336 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
338 * ApplicationContext.cs: Grab the HandleDestroyed event so
339 we know when to fire OnMainFormClosed
341 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
343 * Application.cs: Introduced sub-class to allow tracking of
344 threads and centralized triggering of the event mess for
345 ThreadExit, AppExit, etc.. (#76156)
347 2006-05-16 Alexander Olk <alex.olk@googlemail.com>
350 - Do not return a null icon index value for a mime subclass.
351 Instead try the main mime type class too.
352 - Seems that some newer distributions don't have a link to some
353 gnome default icons anymore. So check the default gnome dir too.
356 2006-05-16 Jackson Harper <jackson@ximian.com>
358 * MdiClient.cs: Don't paint the parent background image if we have
359 our own background image.
361 2006-05-16 Peter Dennis Bartok <pbartok@novell.com>
364 - PerformLayout: Do not shrink space filled by DockStyle.Fill
365 controls, all filled controls are supposed to overlap (#78080)
366 - UpdateZOrder is supposed to update the control's z-order in the
367 parent's z-order chain. Fixed to behave like that
368 - BringToFront: Removed obsolete code
369 - SendToBack: Simplyfied
370 - SetChildIndex: Trigger layout calculations when Z-order changes
371 since layout is done by z-order
373 2006-05-16 Chris Toshok <toshok@ximian.com>
376 * DataGrid.cs (set_AlternatingBackColor): use
377 grid_drawing.InvalidateCells instead of Refresh().
378 (set_BackColor): call grid_drawing.InvalidateCells.
379 (set_BackgroundColor): use Invalidate instead of Refresh.
381 * DataGridDrawingLogic.cs (InvalidateCells): new function, just
382 invalidate the cell area.
384 2006-05-15 Chris Toshok <toshok@ximian.com>
387 * ThemeWin32Classic.cs (DataGridPaintRows): pass the clip argument
388 on to DataGridPaintRow.
389 (DataGridPaintRow): take a clip argument, and only draw the cells
390 which intersect it. same with the not_usedarea.
392 * Theme.cs (DataGridPaintRow) add @clip parameter.
394 * DataGrid.cs (ScrollToColumnInPixels): simplify, use
395 XplatUI.ScrollWindow.
398 * DataGridDrawingLogic.cs (UpdateVisibleColumn): fix corner case
399 with last column which was causing a gray swath to appear with the
400 XplatUI.ScrollWindow code.
402 2006-05-15 Chris Toshok <toshok@ximian.com>
404 * ListBox.cs (HorizontalScrollEvent): in the non-multicolumn case,
405 use XplatUI.ScrollWindow.
406 (VerticalScrollEvent): use XplatUI.ScrollWindow.
408 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
410 * TextBoxBase.cs: Added handling of middle-button paste for X11. (#78375)
412 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
414 * Cursors.cs: For X11, read NWSE and NESW cursors from our resource
415 file since there are no equivalent X11 cursors
417 2006-05-15 Atsushi Enomoto <atsushi@ximian.com>
419 * MonthCalendar.cs : DateTimePicker should reflect selected date
420 on mouse*up*, not mouse*down*. Fixed originally reported part of
423 2006-05-15 Atsushi Enomoto <atsushi@ximian.com>
425 * TabControl.cs : When argument index is equal or more than tab
426 count, just ignore. Fixed bug #78395.
428 2006-05-15 Peter Dennis Bartok <pbartok@novell.com>
430 * Control.cs: Dispose all child controls when control is diposed (#78394)
432 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
434 * ColorDialog.cs: Finally it is possible to select the color with
437 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
439 * PrintDialog.cs: Fix typo
441 2006-05-14 Alexander Olk <alex.olk@googlemail.com>
443 * PrintDialog.cs: PrintDialog is not resizable
444 * ThemeWin32Classic.cs: Draw non links in LinkLabel with the correct
445 color. Made some ToolBar drawing methods protected virtual.
447 2006-05-13 Jordi Mas i Hernandez <jordimash@gmail.com>
449 * PrintDialog.cs: Implementation of the PrintDialog
451 2006-05-12 Chris Toshok <toshok@ximian.com>
453 * ScrollBar.cs (set_Value): don't use Dirty/Invalidate to move the
454 thumb, instead use MoveThumb. This has the side effect of making
455 most of the other thumb moving machinery use MoveThumb as well.
456 (OnHandleCreated): pass false for @dirty to UpdateThumbPos, as we
457 need to actually invalidate the rectangle where the new thumb will
459 (MoveThumb): use XplatUI.ScrollWindow to move the thumb around.
460 We force an Update() after, so it's not as fast as it could be,
461 but at least there's zero flicker and no droppings.
462 (OnMouseMoveSB): in the thumb dragging case, use MoveThumb.
463 (UpdateThumbPos): add another argument (dirty), which says whether
464 or not to calculate/add dirty regions which we later invalidate.
465 For cases where we know we're going to use MoveThumb, we pass
466 false for this. Otherwise, pass true.
468 2006-05-12 Jackson Harper <jackson@ximian.com>
470 * ThemeWin32Class.cs: Fixes for alignment and icon rendering in
473 2006-05-12 Peter Dennis Bartok <pbartok@novell.com>
475 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new SetClipRegion
476 and GetClipRegion methods and UserClipWontExposeParent property.
477 * XplatUIWin32.cs: Implemented SetClipRegion/GetClipRegion methods,
478 overriding UserClipWontExposeParent property, setting to false, since
479 Win32 handles the required expose messages to draw our clipped parent
481 * XplatUIX11.cs: Implemented SetClipRegion and GetClipRegion; updated
482 PaintEventStart to set the user clip region if set.
484 - Now internally tracking the Region for the control since we need to
485 store it if the handle is not yet created and only set it when it
486 becomes created. Before setting the region forced handle creation
487 - Added code to draw the parents underneath a user-clipped region
488 * Hwnd.cs: Added UserClip property
490 2006-05-12 Chris Toshok <toshok@ximian.com>
492 * ScrollBar.cs (set_LargeChange): Refresh() -> InvalidateDirty()
495 (set_SmallChange): same.
496 (OnMouseUpSB): remove the call to refresh when releasing the
497 thumb. We shouldn't need it.
499 2006-05-12 Miguel de Icaza <miguel@novell.com>
501 * StatusBar.cs (UpdatePanel): If the panel being refreshes has the
502 AutoSize set to None, we do not need to relayout everything, we
503 just need to invalidate the current region.
505 (Draw): Do not draw the entire ClientArea, just redraw the
506 clip area being passed.
508 * MdiClient.cs: Make MdiClient constructor with the Form argument
511 2006-05-12 Jackson Harper <jackson@ximian.com>
513 * ThemeWin32Classic.cs (DrawToolBar): Flat toolbars get their
514 parents background image, but strangely not their own.
515 - (DrawStatusBarPanel): Take into account horizontal alignment
516 when drawing the strings and icons.
518 2006-05-12 Mike Kestner <mkestner@novell.com>
520 * ListBox.cs: avoid invalidations for focus when the collection is
523 2006-05-12 Chris Toshok <toshok@ximian.com>
525 * ScrollBar.cs (OnMouseMoveSB): when dragging the thumb, don't
526 invalidate the entire thumb area. Call InvalidateDirty which
527 limits the redraw to the thumb itself and surrounding pixels.
529 * XplatUIX11.cs (ScrollWindow): optimize copying.
531 2006-05-12 Chris Toshok <toshok@ximian.com>
533 * DataGridDrawingLogic.cs: make CalcGridAreas non-reentrant.
534 Figure out the positioning/layout in a single pass instead of
535 multiple recursive invocations. Speeds up the initial display of
536 the data grid. Also, make many things private that were
537 originally public but unused outside this class.
539 2006-05-11 Jackson Harper <jackson@ximian.com>
541 * MdiClient.cs: Improved layout code.
543 2006-05-11 Jonathan Chambers <jonathan.chambers@ansys.com>
545 * PropertyGrid.cs : Only check GetPropertiesSupported for properties,
548 2006-05-11 Chris Toshok <toshok@ximian.com>
550 * Hwnd.cs (Invalid): don't start off with Rectangle.Empty, as
551 union of that will always be {0,0,width,height}.
553 2006-05-11 Jackson Harper <jackson@ximian.com>
555 * Form.cs: Match MS's DefaultSize for forms (they must have
556 changed the size in sp2).
558 2006-05-11 Atsushi Enomoto <atsushi@ximian.com>
560 * TextBoxBase.cs : implement CTRL+A (select all). Fixed bug #78368.
562 2006-05-11 Atsushi Enomoto <atsushi@ximian.com>
564 * TextControl.cs : Fixed bug #78109. This incorrect position
565 comparison caused crash on automatic line split.
566 * TextBoxBase.cs : reduce duplicate code.
568 2006-05-10 Jackson Harper <jackson@ximian.com>
570 * MdiClient.cs: Active form is only sent to the back when using
571 the Next form functionality, when a form is clicked the current
572 active shouldn't be sent to the back.
573 - Layout the mdi windows when the container is first made visible.
574 * Form.cs: Give the MdiClient a ref to the containing form when we
577 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
579 * LinkLabel.cs : link_font could be uninitialized, so populate one
580 before actual use. Fixed bug #78340.
582 2006-05-10 Atsushi Enomoto <atsushi@ximian.com>
584 * XplatUIX11.cs : clipboard format native value is IntPtr.
587 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
590 - Instead of showing context menus directly we send WM_CONTEXTMENU,
591 which is passed up the parent chain by DefWndProc
592 - We now handle WM_CONTEXTMENU to display any menu, or pass it
593 to DefWndProc (#77956)
594 * XplatUIX11.cs: Added handling of WM_CONTEXTMENU (pass up) to DefWndProc
596 2006-05-10 Jackson Harper <jackson@ximian.com>
598 * MdiClient.cs: We need to remove the controls from the mdi
599 collection, when we close the window.
600 * MdiWindowManager.cs: Special handling of closing mdi windows.
601 * InternalWindowManager.cs: Make the close method virtual so the
602 mdi window manager can handle it specially.
604 2006-05-10 Jordi Mas i Hernandez <jordimash@gmail.com>
607 - Recalculate grid when the data source has changed
608 - Matches styles provided by user from all data sources types
609 * DataGridTableStyle.cs: For columns that provided by the user set the
610 with the preferred value is there was unassigned.
611 * CurrencyManager.cs: throw OnItemChanged event
613 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
615 * PictureBox.cs: Don't animate until handle is created. Start animation
616 when handle is created.
618 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
620 * XplatUIX11.cs, Hwnd.cs: Adopted Mike's patch from #77979 to match
622 * XEventQueue.cs: We don't need to provide the extra info
624 2006-05-10 Jackson Harper <jackson@ximian.com>
626 * MdiClient.cs: If the mdi clients parent form has a background
627 image set, we draw that background image for the mdi area's
630 2006-05-10 Peter Dennis Bartok <pbartok@novell.com>
632 * TextBoxBase.cs: Set IBeam cursor (#78347)
634 2006-05-10 Mike Kestner <mkestner@novell.com>
636 * ToolBar.cs: fix some text padding issues with ButtonSize
637 calculation. Update the default size to match MS documentation.
638 * ToolBarButton.cs: use ToolBar.ButtonSize for layout of unspecified
639 button size. Fixes #78296.
641 2006-05-10 Mike Kestner <mkestner@novell.com>
643 * ListBox.cs: use is_visible for scrollbar positioning in case the
644 control isn't on screen yet. Fix off by one with Right vs Width
645 usage. Update Scrollbars in SetBoundsCore. Fixes #78188 and #78258.
647 2006-05-10 Jackson Harper <jackson@ximian.com>
649 * X11Dnd.cs: Drop to a control with another control on top of it.
650 * ToolBar.cs: Work on a copy of the buttons list, so that it can
651 be modified in click handlers. TODO: Look for similar problems in
654 2006-05-09 Jackson Harper <jackson@ximian.com>
656 * Form.cs: Window managers need the old window state when setting
658 * InternalWindowManager.cs: Allow the base mdi window manager to
659 handle more of the MDI only stuff (like maximize buttons).
660 * MdiWindowManager.cs: Fix some snafus in changing the window
661 state. Add all the menu functionality, for both popup and
663 * MdiClient.cs: When a new form is selected the currently
664 activated form is sent to the back, this matches MS.
665 - Implement a new method to activate the next mdi child window.
667 2006-05-08 Peter Dennis Bartok <pbartok@novell.com>
670 - Added new InternalCapture method to allow controls to prevent
671 the capture behaviour on the click handlers
672 - Switched to use InternalCapture
674 - Using InternalCapture to prevent mouse captures from being released
675 on mouse button release (Fixes #78100)
676 * XplatUIX11.cs (DeriveStyles): Now checks caption state and only
677 returns Form borders if a caption is present. (Fixes #78310)
679 2006-05-08 Peter Dennis Bartok <pbartok@novell.com>
681 * TreeNode.cs: Changed serialization .ctor to not require every field
682 to be present. (#78265)
683 * OwnerDrawPropertyBag.cs: Added serialization .ctor
685 2006-05-05 Alexander Olk <alex.olk@googlemail.com>
687 * MimeIcon.cs: for is faster than foreach for strings.
689 2006-05-05 Mike Kestner <mkestner@novell.com>
691 * CheckedListBox.cs: update check handling code to not use selected.
692 * ListBox.cs: rewrite of mouse selection handling to correspond to MS
693 behavior for visual feedback, motion response, shift/ctrl handling,
694 and properly deal with all 4 selection modes. Updates to bounds
695 handling logic. Add scroll wheel support. [Fixes #77842]
697 2006-05-05 Peter Dennis Bartok <pbartok@novell.com>
700 - Moved adding of Implicit controls into .ctor. That way, subsequent
701 creation of the controls will not cause them to think they are
702 toplevel windows (fixes #78200 header problem)
703 - Added 2.0 ShowGroups and UseCompatibleStateImageBehaviour
704 - Switched visibility setting of header control to use internal field
705 to avoid triggering handle creation
706 - Now checking if handle is created before causing a refresh when items
707 are added (This makes us now match handle creation time with MS)
708 * Splitter.cs: Removed loading of private splitter cursor, switched to
709 Cursors version now that that is loading the right ones
710 * Cursors.cs: Load proper splitter cursors from resources
711 * Cursor.cs: Added second method of loading resource cursors for the
712 VS.Net users amongst us
714 2006-05-05 Mike Kestner <mkestner@novell.com>
716 * ListView.cs: give header_control a minimum size based on the
719 2006-05-05 Peter Dennis Bartok <pbartok@novell.com>
721 * XplatUIX11.cs: WS_EX_TOPMOST requires window to be on top. A dock
722 window seems to do that with metacity, so set that type. (#78120)
724 2006-05-05 Mike Kestner <mkestner@novell.com>
726 * ListViewItem.cs: fix Details mode checkbox layout bug.
727 * ThemeWin32Classic.cs: draw a ListView column header for unused space
728 at the end of the header, if it exists. [Fixes for #78200]
730 2006-05-04 Jackson Harper <jackson@ximian.com>
732 * MdiClient.cs: Add a helper property to get the container form.
733 * MdiWindowManager.cs: We have to make sure to use the menu origin
734 when drawing the icons and buttons, this fixes maximized window
735 icons/buttons on win32.
736 * InternalWindowManager.cs: Reset the restore captions when a
737 window goes from Maximized to Minimized and vice versa. Move the
738 DrawMaximizedButtons into the MdiWindowManager source, tool
739 windows can't be maximized. NOTE: This could use a little
740 refactoring if time ever permits.
742 2006-05-03 Jonathan Chambers <jonathan.chambers@ansys.com>
744 * TextBox.cs: Add MWFCategoryAttributes
745 * TextBoxBase.cs: Add MWFCategoryAttributes
746 * Form.cs: Add MWFCategoryAttributes
748 2006-05-03 Jonathan Chambers <jonathan.chambers@ansys.com>
750 * Control.cs: Add MWFCategoryAttributes
751 * ScrollableControl.cs: Add MWFCategoryAttributes
753 2006-05-03 Alexander Olk <alex.olk@googlemail.com>
755 * ThemeWin32Classic.cs: Draw the ToolBar top border only if
756 Divider is true. Fix a little glitch in PropertyToolBar
759 2006-05-02 Peter Dennis Bartok <pbartok@novell.com>
762 - Dispose: Call base.Dispose, this causes the disposed event
763 to be fired (and probably other, more important stuff)
764 - SetVisibleCore: Set is_visible to true after creating the
765 window so that the window still gets created invisible (if
766 WM_VISIBLE isn't set). That will cause the ShowWindow afterwards
767 to generate a WM_ACTIVE message
768 * Form.cs: Call Dispose when we want to destroy the window, instead of
769 just destroying the handle (Dispose will do that for us)
771 - RootWindow also needs a queue, so we can properly process the
772 property change events from RootWindow (like Activate)
773 - Generatic synthetic WM_ACTIVE message when the active window is
776 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
778 * LinkLabel.cs: Trigger a recalc of our label dimensions when
781 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
783 * ThemeWin32Classic.cs (ButtonBase_DrawImage): Use the proper image
784 for determining width and height (image might not be assigned if
785 we're drawing an imagelist)
787 2006-05-01 Peter Dennis Bartok <pbartok@novell.com>
789 * XplatUI.cs, XplatUIDriver.cs: Added MenuHeight property
790 * XplatUIWin32.cs: Overriding new MenuHeight property, retrieving
792 * Theme.cs: No longer returns hardcoded menu height, instead calls
794 * Form.cs (OnLoad): Scaling happens before triggering Load events
797 2006-05-01 Mike Kestner <mkestner@novell.com>
799 * MenuItem.cs: fix NRE for text == null. Fixes #78250.
801 2006-04-30 Peter Dennis Bartok <pbartok@novell.com>
803 * TextBoxBase.cs: Removed Fixme
804 * RichTextBox.cs (set_RTF): Invalidate document after update (#78247)
806 2006-04-30 Peter Dennis Bartok <pbartok@novell.com>
809 - ScrollWindow: We were passing hwnd.ClientRectangle which returns
810 the rectangle relative to the parent, considering borders. We
811 don't really want that.
812 - ScrollWindow: Fixed warning to be more understandable
813 * TextBoxBase.cs: Fixed ScrollWindow calculations to consider our
814 scrollbars and scroll only the visible area
815 * RichTextBox.cs: Removed debug output
817 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
819 * NumericUpDown.cs (Text): Just use base
820 * UpDownBase.cs: Ensure txtView is created before using it
822 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
824 * XplatUIX11.cs (SetWindowTransparency): Casting opacity to int before
825 casting to IntPtr to avoid 64bit overflow errors
827 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
830 - AllowDrop: Don't force handle creation.
831 - CreateHandle: Added call to tell driver if we're allowed to drop
833 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
835 * FileDialog.cs: Remember the last directory not only for the
836 current instance but also for new FileDialog instances.
838 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
840 * XplatUIX11.cs: Forgot to set the queue on the foster parent. That
841 broke sending async messages
843 2006-04-29 Peter Dennis Bartok <pbartok@novell.com>
846 - ScrollWindow: Fixed method. We finally generate expose events again
847 for scrolled areas. This was causing 'garbage' when scrolling
848 textbox and other controls that used ScrollWindow
849 - Switched from using the regular queue for paint events to the MS
850 model of 'generating' paint events when the queue is empty.
851 We use the new XQueueEvent.Paint subclass to store which windows
853 - AddExpose now takes the x/y/width/height of the exposed area
854 and inserts the window into the paint queue if not already there
855 - InvalidateWholeWindow: Switched to use new AddExpose method
856 - UpdateMessageQueue: Added which queue to monitor for paint events
857 - DefWndProc: Added default handler for WM_PAINT and WM_NCPAINT in
858 the unlikely case nothing above handles it. We reset the expose
859 pending states to get them off the queue.
860 - GetMessage: Now pulls a paint event if no other events are in the
862 - Invalidate: Switched to new AddExpose method
863 - PeekMessage: Updated to understand pending paint events
864 - UpdateWindow: Fixed logic bug. We were only updating if the window
865 didn't need updating. Also switched to sending WM_PAINT directly,
867 * XEventQueue.cs: Added Paint queue support. Allows enqueue/dequeue
868 and random access Remove(). The random access is needed to handle
869 UpdateWindow() where a WM_PAINT is sent directly without accessing
871 * ScrollBar.cs: Added Update() calls to cause immediate updates to
872 allow for better feedback when scrolling. Scrollbars are small and
873 the immediate update should make it 'feel' more responsive without
874 slowing things down. ScrollBar still needs it's invaliate logic
875 updated to not always invalidate the whole bar on certain changes.
877 2006-04-28 Gonzalo Paniagua Javier <gonzalo@ximian.com>
880 (BackColor): if the control does not support a transparent background,
881 return the default backcolor when the parent backcolor is transparent.
883 2006-04-28 Peter Dennis Bartok <pbartok@novell.com>
885 * Application.cs: Updated to new StartLoop/GetMessage API
886 * RichTextBox.cs: Provide some output on RTF parsing errors
887 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs: Added
888 new queue_id argument to GetMessage and PeekMessage to allow faster
889 handling of per-thread queues in drivers.
890 * Hwnd.cs: Added Queue tracking and property
891 * MenuAPI.cs: Updated to new StartLoop/GetMessage API
892 * XEventQueue.cs: Added thread trackingA
893 * PropertyGridView.cs: Updated to new StartLoop/GetMessage API
895 - Implemented new per-thread queue
896 - GetMessage: Fixed return/break behaviour on several cases. We were
897 returning stale messages in some cases, instead of just processing
900 2006-04-27 Jonathan Chambers <jonathan.chambers@ansys.com>
902 * PropertyGrid.cs: Call GetPropertiesSupported on TypeConverter.
904 2006-04-27 Peter Dennis Bartok <pbartok@novell.com>
906 * ThemeWin32Classic.cs (DrawToolBar): Refactored, simplified the logic,
907 fixed off-by-one comparisons between Width/Height and Right/Bottom.
909 2006-04-27 Jonathan Chambers <jonathan.chambers@ansys.com>
911 * PropertyGridView.cs: Fix drop down width.
913 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
915 * ThemeWin32Classic.cs: Peter thinks that three additional lines are
916 a mess in DrawToolBar, so I removed one of them.
918 2006-04-27 Alexander Olk <alex.olk@googlemail.com>
920 * ThemeWin32Classic.cs: Draw the ToolBar border lines only if
921 needed (clip). Otherwise we get artifacts.
923 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
925 * FixedSizeTextBox.cs: Added constructor to allow specifying which
927 * UpDownBase.cs: Set the spinner control to be fixed height vertical,
928 and switched FixedSizeTextBox to only be fixed vertical (#78116)
929 * Form.cs: Not applying the 'MS 0.08 fudge factor' for a given dimension
930 if it matches the scale base font (avoids unneeded scaling)
932 2006-04-26 Alexander Olk <alex.olk@googlemail.com>
934 * X11DesktopColors.cs: One gtk_init_check should be enough
936 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
938 * TextBoxBase.cs: Moved Backspace handling into WM_CHAR block to
941 2006-04-26 Peter Dennis Bartok <pbartok@novell.com>
944 - Generate OnTextChanged for Backspace even if we're only deleting
945 the current selection
946 - When setting the Text property, only select all text if the
947 control does not have focus when it is being set. Otherwise
948 just place the cursor at the beginning of the control
950 2006-04-26 Alexander Olk <alex.olk@googlemail.com>
952 * ThemeWin32Classic.cs: ToolBars get drawn with two lines at the top.
953 Added a little helper to draw PropertyGrid ToolBar with a different
954 border and a different BackColor.
955 * PropertyGrid.cs: Some background parts didn't get painted with the
956 correct background color. Added a class that helps us to draw the
957 correct border for PropertyGridView and a class that helps us to
958 draw ToolBars with a different backcolor
959 * PropertyGridView.cs: Draw PlusMinus with the correct colors.
961 2006-04-25 Jonathan Chambers <jonathan.chambers@ansys.com>
963 * PropertyGrid.cs: Bug 78196, font size, and splitter location.
964 * PropertyGridView.cs: Bug 78196, font size, and splitter location.
966 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
968 * XplatUIWin32.cs (DIBtoImage): ORing instead of ANDing the alpha
969 into the palette entries. Also, since we're working on a copy
970 we needed to copy the palette back onto the bitmap.
971 * Cursor.cs: Same fix as XplatUIWin32.cs.
973 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
975 * ImageListStreamer.cs: Need to read the var (or we're off)
977 2006-04-25 Peter Dennis Bartok <pbartok@novell.com>
979 * TextControl.cs, ComboBox.cs, CommonDialog.cs, Theme.cs,
980 XplatUIWin32.cs, RichTextBox.cs, ImageListStreamer.cs,
981 TextBoxBase.cs: Unused var fixes
982 * AxHost.cs: Small 2.0 fix
983 * XplatUIX11.cs: Switched to IntPtr from int for XA_CARDINAL atoms
984 as it seems that is what at least Metacity expects. This will make
985 icons show up on 64bit platforms. We still have some 64bit size
986 issues, though, since the startup app window size still won't match.
988 2006-04-25 Mike Kestner <mkestner@novell.com>
990 * *.cs: cleanup newly reported exception var unused warnings.
992 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
994 * ThemeWin32Classic.cs: Button image alignment now matches exactly
997 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
999 * ThemeWin32Classic.cs: Fixed drawing code for buttons with an
1000 image. The image position is always the same, no matter if the
1001 button is pressed or not.
1003 2006-04-25 Alexander Olk <alex.olk@googlemail.com>
1005 * FileDialog.cs: SaveFileDialog shouldn't rely on a MWFFileView
1006 selection and set the correct filename for SaveFileDialog.
1007 Patch by Emery Conrad.
1009 2006-04-24 Mike Kestner <mkestner@novell.com>
1011 * ListView.cs (LastVisibleIndex): when in List mode of Alignment.Left,
1012 check for item.X outside the ClientRect instead of item.Y. Fixes
1015 2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1017 * ImageListStreamer.cs: some images store a wrong grow factor, so don't
1018 trust that value blindly and do some sanity check. Fixes bug #77814.
1020 2006-04-21 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1022 * ImageListStreamer.cs: save the mask as a 1bpp image.
1024 2006-04-21 Mike Kestner <mkestner@novell.com>
1026 * CheckedListBox.cs: maintain CheckStatus here. Use DrawItemState to
1027 pass Checked and Indeterminate to the Theme Engine. Improve
1028 encapsulation with ListBox.
1029 * ListBox.cs: Keep a StringFormat instead of calculating it every item
1030 draw. Kill ListBoxItem. Refactor away the ListBoxInfo and ListBoxItem
1031 nested types. Move all CheckState functionality to CheckedListBox.
1032 Make IntegralHeight work like MS. Rewrite of Layout engine. Fix
1033 OwnerDrawVariable layout/rendering. Fix multicolumn rendering. Fix
1034 ScrollAlwaysVisible handling. Refactor "selected" collections to use a
1035 single base list. Fix scrollbar sizing and placement to mirror MS.
1036 * Theme.cs: remove CheckedListBoxCheckRectangle. It wasn't really
1038 * ThemeWin32Classic.cs: implement Indeterminate CheckState rendering
1039 for CheckedListBox by using new DrawItemState info. Center the
1040 checkboxes on the items. Use new StringFormat property.
1042 2006-04-18 Jackson Harper <jackson@ximian.com>
1044 * Form.cs: MdiChildren don't do default locations the same way as
1045 regular forms. This prevents a crash when trying to position the
1048 2006-04-17 Jonathan Chambers <jonathan.chambers@ansys.com>
1050 * PropertyGridTextBox.cs: Formatting, copyright
1051 * PropertiesTab.cs: Formatting
1052 * PropertyGrid.cs: Formatting
1053 * PropertyGridView.cs: Formatting, fix drop down, enabled double
1054 click toggling of values
1056 2006-04-17 Peter Dennis Bartok <pbartok@novell.com>
1058 * KeyPressEventArgs: Added 2.0 only setter for KeyChar
1059 * Control.cs (.ctor): verify_thread_handle is static, don't reset
1060 every time a control is created
1061 * Application.cs: Removed obsolete EnableRTLMirroring method
1063 2006-04-18 Gert Driesen <drieseng@users.sourceforge.net>
1065 * TabControl.cs: Avoid ArgumentOutOfRangeException when setting
1066 SelectedIndex to -1. Fixes bug #78121.
1068 2006-04-17 Jackson Harper <jackson@ximian.com>
1070 * Binding.cs: Handle null values for Current and BindingContext.
1071 This occurs when binding is a little delayed.
1072 * CurrencyManager.cs: return null for Current when there are no
1074 - Hookup to the listchanged event on the DataView and update
1075 bindings when the list is changed. This fixes late binding of
1078 2006-04-17 Jackson Harper <jackson@ximian.com>
1081 * XplatUIX11.cs: Drops should not create a mousedown. Patch by Tim
1084 2006-04-15 Alexander Olk <alex.olk@googlemail.com>
1086 * ThemeWin32Classic.cs: Draw disabled combo button in the correct
1088 * ComboBox.cs: If the combobox is disabled call CPDrawComboButton
1089 with the correct ButtonState
1091 2006-04-14 Peter Dennis Bartok <pbartok@novell.com>
1093 * XplatUIX11.cs: Improved distinguishing between window types to
1094 tell the WM a type closer to what the app wants (Fixes #78107)
1096 2006-04-14 Alexander Olk <alex.olk@googlemail.com>
1098 * ThemeWin32Classic.cs: Fixed drawing of ContainerGrabHandle and
1101 2006-04-14 Alexander Olk <alex.olk@googlemail.com>
1103 * ThemeWin32Classic.cs: Fixed size grip drawing and updated StatusBar
1104 drawing code to reflect the size grip changes
1106 2006-04-13 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1108 * ImageListStreamer.cs: fix handling of the mask that follows the main
1109 bitmap when deserializing and serialize it properly. The generated mask
1110 should better be a 1bpp image, but I'll do that later.
1112 2006-04-13 Alexander Olk <alex.olk@googlemail.com>
1114 * FileDialog.cs: Show something in the DirComboBox on *nix if the
1115 path doesn't fit into some of our Current.Places
1117 2006-04-13 Jackson Harper <jackson@ximian.com>
1119 * ComboBox.cs: Use borders instead of drawing our own decorations,
1120 try to obey correct rules for heights.
1123 * ThemeClearLooks.cs:
1124 * ThemeWin32Classic.cs: Remove combobox decoration drawing code,
1125 this is now handled by borders.
1126 - Remove unused DrawListBoxDecorationSize method.
1128 2006-04-13 Mike Kestner <mkestner@novell.com>
1130 * MenuAPI.cs: null guarding for the disbled click check fixes crash
1133 2006-04-13 Alexander Olk <alex.olk@googlemail.com>
1135 * ThemeWin32Classic.cs:
1136 - Fixed CPDrawStringDisabled
1137 - Corrected drawing of disabled menu items
1138 - Fixed drawing of disabled radio buttons (bug #78095)
1139 - Draw check in a disabled CheckBox with color ControlDark
1141 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1143 * Form.cs: Use the provided width when calculating the menu size;
1144 when being maximized we get WM_NCCALCSIZE before WM_WINDOWPOSCHANGED
1145 and ClientSize.Width won't be updated yet
1146 * Application.cs: Use Visible instead of Show() to make form visible,
1147 this way we create the handle later and menusize is considered
1149 2006-04-12 Mike Kestner <mkestner@novell.com>
1151 * MenuAPI.cs: ignore clicks on disabled menu items. Thanks to Alex for
1154 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1156 * TextBox.cs: Implemented context menu
1158 2006-04-12 Mike Kestner <mkestner@novell.com>
1160 * ListView.cs: implement box selection. fixes #77838.
1161 * ThemeWin32Classic.cs: draw box select rect, remove a ResetClip.
1163 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1165 * XplatUIX11.cs: Added setting of window type when transient window
1166 is created (metacity would move it otherwise)
1167 * X11Structs.cs: Added WINDOW_TYPE atoms
1168 * LinkLabel.cs: Override OnPaintBackgroundInternal and draw the
1169 background (the control is Opaque but still wants transparent
1172 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1174 * Control.cs: Added OnPaintBackgroundInternal to allow controls
1175 that set Opaque but don't mean it (like all ButtonBase-derived
1176 controls) to still draw their background
1177 * ButtonBase.cs: Override OnPaintBackgroundInternal and draw
1180 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1182 * Control.cs (PaintControlBackground): Set the graphics object
1183 on our PaintEvent to null to prevent it from being disposed
1184 when the PaintEvent gets disposed
1186 2006-04-12 Alexander Olk <alex.olk@googlemail.com>
1188 * ThemeWin32Classic.cs: Use even more SystemBrushes and SystemPens
1189 * ThemeNice.cs, ThemeClearlooks.cs: fix typo
1191 2006-04-12 Peter Dennis Bartok <pbartok@novell.com>
1194 - Added transparency check to BackColor property. Transparent
1195 backgrounds are only allowed if the control styles permit it
1196 - Added recursive painting of parent control background and
1197 foreground if a control with a transparent backcolor is drawn
1198 (Thanks to Tim Ringenback for providing his 'hack' as a base
1199 for this patch) Fixes #77985 and #78026.
1200 - Added Opaque style check before calling OnPaintBackground, no
1201 need to draw the background if the control is opaque
1202 - Removed ControlAccessibleObject owner variable (inherited from
1203 base, no need to define again)
1204 - Added some documentation links explaining the drawing events
1207 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1209 * Splitter.cs (CalculateSplitPosition): Corrected the bad assumption
1210 that the affected control is the located at the left border of our
1211 parent (Fixes #77936)
1213 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1215 * TextBoxBase.cs: When rendering disabled or readonly controls,
1216 draw the background with 'Control' instead of 'Window' color as
1217 long as the user hasn't specifically set a color
1219 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1221 * TextBoxBase.cs: Don't try to shortcut by checking against base.Text
1222 since that won't be updated if the user types text (only if it's
1223 programatically set)
1225 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1227 * ScrollableControl.cs: Calculate DisplayRect dynamically, so that
1228 layout changes do to app-triggered resizes will have the proper
1229 display rectangle for layout
1231 2006-04-11 Alexander Olk <alex.olk@googlemail.com>
1233 * ThemeWin32Classic.cs:
1234 - Make use of the SystemBrushes and SystemPens wherever possible
1235 - Corrected some highlight colors
1236 - Corrected RadioButton and CheckBox FlatStyle.Flat and Popup
1238 * Theme.cs: Added Empty field to CPColor struct
1240 2006-04-11 Peter Dennis Bartok <pbartok@novell.com>
1242 * ScrollabeControl.cs: We need to consider whether or not a scrollbar
1243 is displayed when calculating the display rectangle. Thanks to Mike
1244 for teaching me the err of my ways.
1246 2006-04-10 Peter Dennis Bartok <pbartok@novell.com>
1248 * ScrollableControl.cs:
1249 - Rewrote DisplayRectangle code, now returning the proper x/y coords
1250 (instead of 0,0) and we now return the real width/height instead of
1251 just the clientrectangle, adjusted for padding. The rectangle is
1252 now cached and created by the new CalculateDisplayRectangle method.
1253 - Created new CalculateDisplayRectange method, which basically does
1254 what get_DisplayRectangle() did originally, but now using the
1255 right edge instead of DisplayRectangle to determine the size of
1257 - get_Canvas(): Fixed it to properly calculate canvas for
1258 right/bottom controls which seem to be placed to the right/bottom
1259 of any controls that have a fixed location
1260 - Removed TODO that's taken care of
1261 - Removed NotImplementeds and attempted to implement AdjustFormScrollBars
1262 and SetDisplayRectLocation according to new MSDN2 docs
1263 - Added call to PerformLayout in OnVisibleChanged, MS causes a layout
1264 event when that is called, this is added for compatibility
1265 - ScrollControlIntoView(): Implemented.
1266 - Switched scrollbars to be implicit, they shouldn't be selectable
1267 * ContainerControl: Now that ScrollControlIntoView is implemented, we
1268 call it when the active control is set/changed
1269 * ScrollBar.cs: Added support for generating Win32 scrollbar messages
1270 * ImplicitHScrollBar.cs, ImplicitVScrollBar.cs: Now setting new base
1271 implicit_control variable (used for native Win32 message generation)
1272 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs: Added new
1273 HorizontalScrollBarHeight and VerticalScrollBarWidth properties
1274 * ThemeWin32Classic.cs: Now calling the driver for the scrollbar sizes
1275 * XplatUIStructs.cs: Added ScrollBarCommands enum
1277 2006-04-10 Jackson Harper <jackson@ximian.com>
1280 * CheckedListBox.cs:
1287 * PrintPreviewControl.cs:
1293 * UpDownBase.cs: Fixup base event overrides.
1295 2006-04-06 Mike Kestner <mkestner@novell.com>
1297 * ScrollBar.cs: fix "new event" declarations (#76509) and bounds check
1298 all user-initiated value changes to min <= value <= max-thumbsz+1.
1299 (set_Value): check for vert/horiz when calculating new thumb position.
1300 (LargeIncrement): bounds check to stop pos at max - thumb_size + 1
1302 (OnMouseMoveSB): refactor the thumb dragging code and refine
1303 invalidation logic to reduce flicker.
1304 (SetEndPosition): bounds check to stop pos at max - thumb_size + 1
1305 (SmallIncrement): bounds check to stop pos at max - thumb_size + 1
1306 (UpdateThumbPosition): small code readability cleanup
1308 2006-04-10 Alexander Olk <alex.olk@googlemail.com>
1310 * ThemeNice.cs: Small UI polishing. Draw borders a little bit
1313 2006-04-08 Alexander Olk <alex.olk@googlemail.com>
1315 * ThemeNice.cs: Use a better graphics effect when a button is pressed
1317 2006-04-08 Alexander Olk <alex.olk@googlemail.com>
1319 * Theme.cs: Added GetDashPen and GetSizedPen to SystemResPool
1320 * ThemeWin32Classic.cs: Make use of the new SystemResPool methods.
1321 This dramatically reduces the number of Pen.Dispose calls.
1322 Where possible call ResPool methods only once instead of calling it
1323 over and over again (for example for the same color).
1325 2006-04-06 Mike Kestner <mkestner@novell.com>
1327 * TabControl.cs: fix for SelectedIndex updating on TabPage removals.
1328 Also remove an unused private field on the collection. Fixes #77972.
1330 2006-04-06 Alexander Olk <alex.olk@googlemail.com>
1332 * ThemeNice.cs: Added ToolBar drawing code
1334 2006-04-06 Mike Kestner <mkestner@novell.com>
1336 * Form.cs (ShowDialog): MS allows IWin32Window param to be a non-form.
1337 I'm assuming that means we need to look up the toplevel for the
1338 provided control. Fixes the crash trace in #77911 but exposes another
1339 crash in some strange reflection usage in NDocGui.
1341 2006-04-06 Alexander Olk <alex.olk@googlemail.com>
1343 * ThemeNice.cs: Gave it a little silver touch and added Images
1345 * FontDialog.cs: FontDialog is not resizable
1346 * FileDialg.cs: Added SizeGripStyle.Show
1348 2006-04-05 Jackson Harper <jackson@ximian.com>
1350 * KeyboardLayouts.cs: Remove warning.
1352 2006-04-05 Jackson Harper <jackson@ximian.com>
1354 * Control.cs: Enable OnPaintInternal so we can use it for drawing
1355 all of our controls instead of Paint +=.
1370 * ComboBox.cs: Remove handling of WM_PAINT and WM_ERASEBKGND and
1371 use OnPaintInternal. Remove Width/Height and Visible checks in
1372 paint handler, this is done at a higher level now.
1373 * GroupBox.cs: Don't need to handle WM_ERASEBKGND anymore.
1374 * PaintEventArgs.cs: Add a handled flag so controls that don't
1375 want anymore painting after OnPaintInternal can make sure OnPaint
1378 2006-04-05 Mike Kestner <mkestner@novell.com>
1380 * Form.cs: fix the menu WndProc hacks to respect the native enabled
1381 state of the form, so that we don't process events when Modal dialogs
1382 are up. Fixes #77922.
1384 2006-04-05 Alexander Olk <alex.olk@googlemail.com>
1386 * Mime.cs: Default for range length is 1 not 0. If set to 0 no match
1389 2006-04-05 Mike Kestner <mkestner@novell.com>
1391 * XplatUIX11.cs: fix typo in the EX_APPWINDOW transient patch.
1393 2006-04-05 Mike Kestner <mkestner@novell.com>
1395 * ListView.cs (HeaderMouseMove): null guarding for the over column
1396 when setting up the drag_to_index. Fixes #78015.
1398 2006-04-04 Peter Dennis Bartok <pbartok@novell.com>
1400 * XplatUIX11.cs: If WS_EX_APPWINDOW isn't set we don't want to show up
1401 in the taskbar. Transient windows seem to accomplish that.
1403 2006-04-04 Peter Dennis Bartok <pbartok@novell.com>
1406 - Re-enabled CreateParams.X/Y code for FormStartPosition
1407 - Added code for manual placement when creating the Control
1408 - Incomplete patch to treat MDI forms differently when
1409 setting the ClientSizeCore. (Still need to figure out handling
1412 - When we're explicitly setting the X/Y position of a non-Child
1413 window, let the WM know. Metacity really wants this.
1415 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
1417 * ThemeNice.cs: Added CPDrawButton
1419 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
1421 * ThemeNice.cs: Changed the color for focused buttons and activated
1422 the arrows for small scroll buttons.
1424 2006-04-04 Alexander Olk <alex.olk@googlemail.com>
1426 * ThemeWin32Classic.cs: Removed DrawFlatStyleButton, not needed
1427 anymore. Changed some method modifiers to protected (virtual)
1428 * ThemeClearlooks.cs: Updated to reflect the ThemeWin32Classic
1430 * ThemeNice.cs: Updated to reflect the ThemeWin32Classic changes.
1431 Updated drawing of menus, buttons and progressbars; added
1434 2006-04-03 Gonzalo Paniagua Javier <gonzalo@ximian.com>
1436 * ImageListStreamer.cs: implemented serialization/deserialization
1439 2006-04-03 Alexander Olk <alex.olk@googlemail.com>
1441 * ThemeWin32Classic.cs:
1442 - Removed all the DrawFrameControl stuff; CPDrawButton,
1443 CPDrawCheckBox and CPDrawRadioButton are now handled directly
1445 - Updated and corrected the drawing code of CPDrawButton,
1446 CPDrawCheckBox and CPDrawRadioButton to better match ms
1447 - Updated theme checkbox and radiobutton code to use the CP*
1450 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
1452 * XplatUIX11.cs: Enable clipping again now that the libgdiplus
1455 2006-03-31 Jackson Harper <jackson@ximian.com>
1457 * XplatUIX11.cs: Somehow we get SETCURSORS for bad windows
1459 * UpDownBase.cs: Don't CreateGraphics manually, use a
1460 Refresh. Ideally we would invalidate the correct areas here.
1462 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
1465 - We now track the mapping state of windows. If a window (or
1466 one of it's parents) is not mapped we no longer permit
1467 WM_PAINT messages to be generated since we'd otherwise get
1468 lots of BadMatch X errors. Jackson did all the work figuring
1470 - Destroying the caret if the window it's contained in is
1471 destroyed. Can't use regular DestroyCaret method since it
1472 might fall into a drawing function (trying to remove the
1473 caret) and with that generate new BadMatch errors. Again,
1474 Jackson tracked this down.
1475 - Changed DestroyChildWindows to SendWMDestroyMessages, we now
1476 make sure we send the messages to all windows. (The old code
1477 would send the WM_DESTROY to the window, and then all child
1478 windows would be 'gone' because the WM_DESTROY handle lookup
1479 would no longer find the destroyed window)
1480 * Hwnd.cs: Added Mapping property to track mapping state of hwnd
1481 * X11Structs.cs: Added WindowType enum for MapWindow/UnmapWindow
1483 2006-03-31 Jackson Harper <jackson@ximian.com>
1485 * ScrollableControl.cs: Dont recalc if we are not visible.
1487 2006-03-31 Mike Kestner <mkestner@novell.com>
1489 * Control.cs (SetVisibleCore): move the CreateControl call up ahead of
1490 the visibility branch.
1492 2006-03-31 Jackson Harper <jackson@ximian.com>
1494 * ScrollBar.cs: Cap values when incrementing/decrementing.
1496 2006-03-31 Mike Kestner <mkestner@novell.com>
1498 * MenuAPI.cs: setup menu.tracker for popup/context menus.
1499 * ToolTip.cs: guard against timer expirations with no active control.
1500 Not sure why it happened.
1502 2006-03-31 Mike Kestner <mkestner@novell.com>
1504 * ThemeWin32Classic.cs: add some horizontal padding space for the tip
1506 * ToolTip.cs: Position the tooltip based on where the cursor is at
1507 popup time, not at MouseEnter time. Add a Down state so that we don't
1508 redisplay tips without a Leave. Use faked XplatUI.GetCursorInfo for
1509 positioning offset. Lookup DisplaySize at positioning time, since it
1510 can theoretically change during invocation.
1511 * XplatUIWin32.cs: fake GetCursorInfo until pdb can do it properly.
1512 * XplatUIX11.cs: fake GetCursorInfo until pdb can do it properly.
1514 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
1516 * ThemeWin32Classic.cs: Use CPDrawBorder3D to draw a GroupBox.
1517 Fixes behaviour when the Text property of the box is String.Empty
1519 2006-03-31 Peter Dennis Bartok <pbartok@novell.com>
1521 * XplatUIX11.cs: Only send mouseleave for our client windows, not
1522 for the whole window (otherwise we get WM_MOUSE_LEAVE twice for
1525 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
1527 * FileDialog.cs: Visual enhancement for the popup buttons in
1530 2006-03-31 Alexander Olk <alex.olk@googlemail.com>
1532 * ColorDialog.cs, FontDialog.cs: Make use of the updated 3D border
1535 2006-03-30 Alexander Olk <alex.olk@googlemail.com>
1537 * ThemeWin32Classic.cs: Updated MainMenu drawing of selected and
1538 highlighted menu items to match ms
1540 2006-03-30 Peter Dennis Bartok <pbartok@novell.com>
1542 * XplatUIX11.cs: Don't set a clip rectangle unless it's not empty
1544 2006-03-30 Mike Kestner <mkestner@novell.com>
1546 * Menu.cs (SelectedItem): use new MenuItem.Selected prop.
1547 * MenuAPI.cs: use new MenuItem.Selected prop. redraw MainMenu when we
1548 go active to account for HotLight to Selected transition.
1549 * MenuItem.cs: add internal Selected prop. Fill out the Status
1550 property by calculating it from item info. Add HotLight,
1551 NoAccelerator, Checked, Grayed, and Disabled flags where appropriate.
1553 2006-03-30 Mike Kestner <mkestner@novell.com>
1555 * MenuItem.cs: only emit DrawItem and MeasureItem for OwnerDraw.
1557 2006-03-29 Jackson Harper <jackson@ximian.com>
1559 * Form.cs: Implement TODO.
1561 2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
1563 * PrintPreviewDialog.cs: Implemented missing methods and events; still
1564 missing proper dialog setup in the constructor
1566 2006-03-29 Peter Dennis Bartok <pbartok@novell.com>
1568 * ProgressBar.cs: Added 2.0 Style property that apps seem to use
1570 - Implemented CheckForIllegalCrossThreadCalls, removed TODO
1571 - Fixed ResetBindings and removed TODO
1572 - Added check for cross-thread calls to get_Handle()
1573 - Added Marshaller attribute for set_Font to satisfy class status
1574 * FontDialog.cs: Removed TODOs that seemed implemented
1575 * UpDownBase.cs: Removed unneeded TODO and Fixme
1576 * MessageBox.cs: Implemented support for Default button and removed TODO
1577 * FileDialog.cs: Removed obsolete TODO
1578 * DomainUpDown.cs: Removed obsolete TODO
1579 * ButtonBase.cs: Removed obsolete TODO
1580 * XplatUIWin32.cs: Removed obsolete TODO
1582 - Removed obsolete TODO
1583 - Calling CheckAcceptButton when the acceptbutton is changed to allow
1584 internal status updates
1585 - Making sure the active control is selected when the control is created
1586 * CurrencyManager.cs: Removed obsolete TODO
1588 2006-03-29 Mike Kestner <mkestner@novell.com>
1590 * *.cs: fix remaining corcompare issues for 1.1 API with the exception
1591 of PrintPreviewDialog and RichTextBox.
1593 2006-03-29 Alexander Olk <alex.olk@googlemail.com>
1595 * Theme.cs: Added a little helper to SystemResPool to get the Dark,
1596 DarkDark, Light and LightLight colors for a specific color
1597 * ThemeWin32Classic.cs:
1598 - Use Button drawing code to draw RadioButtons and CheckBoxes with
1600 - Make use of the new ResPool helper CPColor
1601 - Draw ProgressBar and StatusBar with correct 3D borders
1603 2006-03-29 Alexander Olk <alex.olk@googlemail.com>
1605 * ColorDialog.cs: Return selected color. Fixes bug #77940.
1607 2006-03-28 Mike Kestner <mkestner@novell.com>
1609 * ListView.cs: fix Icon layout to plan for scrollbar widths when
1610 calculating col/row counts.
1612 2006-03-28 Mike Kestner <mkestner@novell.com>
1618 switch to explicit interface method implementation for some methods
1619 corcompare identifies as inconsistent with MS.
1621 2006-03-28 Mike Kestner <mkestner@novell.com>
1625 add a few missing methods from the class status output.
1627 2006-03-28 Alexander Olk <alex.olk@googlemail.com>
1629 * ControlPaint.cs: Fixed ControlPaint.Light method. Results are now
1632 2006-03-28 Mike Kestner <mkestner@novell.com>
1634 * MenuAPI.cs: Deactivate on MainMenu item click. Fixes #77917.
1636 2006-03-27 Mike Kestner <mkestner@novell.com>
1638 * ThemeWin32Classic.cs: Switch flat toolbars to use RaisedInner for
1639 the Hilight state to adapt to Alex's CPDrawBorder3D changes.
1641 2006-03-27 Alexander Olk <alex.olk@googlemail.com>
1643 * ThemeWin32Classic.cs: Rewrote Button drawing code to match ms.
1645 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
1647 * ThemeWin32Classic.cs:
1648 - GroupBox: Inserted a little gap between the text and the lines
1650 - Made the code in CPDrawBorder3D more readable
1651 - Corrected the drawing location of the up and down arrows in
1654 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
1656 * ControlPaint.cs: Corrected line widths in DrawBorder for
1657 ButtonBorderStyle Inset and Outset
1659 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
1661 * ThemeWin32Classic.cs:
1662 - Rewrote the totally broken CPDrawBorder3D method. That was
1663 one of the main problems for the terrific ThemeWin32Classic
1665 - Updated and corrected Button drawing
1666 - Correct the dimensions of the SizeGrip to match ms ones
1667 - Removed a small drawing glitch in DrawComboBoxEditDecorations
1668 * XplatUIX11.cs: Draw borders with BorderStyle = Fixed3D with
1669 Border3DStyle.Sunken to match ms.
1671 2006-03-25 Alexander Olk <alex.olk@googlemail.com>
1673 * ThemeWin32Classic.cs: First small part of the "de-uglify
1674 ThemeWin32Classic" effort, SizeGrip
1676 2006-03-24 Jackson Harper <jackson@ximian.com>
1678 * XplatUIX11.cs: Give a max idle time of one second, this matches
1679 MS and forces an Idle event every second when there are no other
1680 events in the queue.
1682 2006-03-24 Mike Kestner <mkestner@novell.com>
1684 * ListView.cs: Handle (Large|Small)ImageList == null more robustly.
1685 * ListView.Item.cs: fix layout issues with null image lists and images
1686 smaller than checkbox size.
1687 * ThemeWin32Classic.cs: Draw a 12 pixel line in ListView LargeIcon
1688 mode like MS does. It's weird, but consistent. ;-)
1691 2006-03-24 Mike Kestner <mkestner@novell.com>
1693 * ListView.cs: Scroll wheel support for the item control. Fixes
1696 2006-03-23 Jackson Harper <jackson@ximian.com>
1698 * ScrollableControl.cs: Special case negative sized areas, not
1700 * MonthCalendar.cs: Save the rect of the clicked date so we can
1701 use it for invalidation.
1702 - Try to cut down on the number of invalidates
1703 - Invalidate the rect the mouse is over and was over when moving
1704 the mouse, so we get the focus box following the cursor.
1706 2006-03-23 Mike Kestner <mkestner@novell.com>
1708 * ThemeWin32Classic.cs: fix FullRowSelect selection background and
1709 focus rectangle drawing. Fixes #77835.
1711 2006-03-23 Mike Kestner <mkestner@novell.com>
1713 * XplatUIX11.cs: rework the fix for #77828 by changing the order of
1714 the if and else if and reverting back to the original == check on the
1717 2006-03-23 Alexander Olk <alex.olk@googlemail.com>
1719 * FontDialog.cs: Update the example panel if the selected index of
1720 the fontListBox changes.
1722 2006-03-23 Alexander Olk <alex.olk@googlemail.com>
1724 * FileDialog.cs: Make FileDialog remember which directory it was in
1725 last in the same execution.
1727 2006-03-22 Mike Kestner <mkestner@novell.com>
1729 * FileDialog.cs: make the DropDownMenu on the toolbar display
1730 RadioChecks since they are mutually exclusive and that's what MS does.
1732 2006-03-22 Mike Kestner <mkestner@novell.com>
1734 * Theme.cs: add Color param to CPDrawMenuGlyph.
1735 * ThemeWin32Classic.cs: do color specific menu glyph rendering so that
1736 checks and radio marks and arrows are visible on highlighted items.
1737 * ControlPaint.cs: update to use new Theme signature.
1739 2006-03-22 Mike Kestner <mkestner@novell.com>
1741 * MenuAPI.cs: only process Enter and arrow keypresses if the tracker
1742 is active. Fixes #77870.
1744 2006-03-22 Alexander Olk <alex.olk@googlemail.com>
1746 * FileDialog.cs: Corrected TabIndex order and set fileNameComboBox
1747 to be focused/selected after startup
1749 2006-03-22 Alexander Olk <alex.olk@googlemail.com>
1752 - Corrected behaviour of Color, AllowFullOpen, FullOpen,
1753 CustomColors and ShowHelp properties
1754 - Some internal rewrites to get better results when using the
1757 2006-03-22 Mike Kestner <mkestner@novell.com>
1759 * ListView.cs: hook into Peter's new ResetMouseHover capability to fix
1760 HoverSelection. Fixes #77836.
1762 2006-03-22 Mike Kestner <mkestner@novell.com>
1764 * FileDialog.cs: bugfixes for the toolbar. Use PushButtons instead of
1765 ToggleButtons. (De)Sensitize the Back button around a stack count of
1766 1, not 0. Update ButtonSize based on a pixel count of the win32
1767 control. Adjust the toolbar size/location for new button size.
1769 2006-03-22 Jackson Harper <jackson@ximian.com>
1771 * XplatUIX11.cs: Don't handle configurenotifys if PostQuitState is
1773 * ScrollBar.cs: When doing increments and decrements we need to
1774 set the Value property so that ValueChanged gets raised. A
1775 possible optimization here would be to make an internal SetValue
1776 that doesn't invalidate immediately.
1777 * ToolTip.cs: Tooltips get added to their container (when
1778 supplied) so they get disposed when the container is disposed.
1779 - Don't create tooltips for String.Empty. This prevents all these
1780 little 2-3 pixel windows from showing up when running nunit-gui
1782 * Form.cs: Don't set topmost when setting the owner if the handles
1783 haven't been created yet. The topmost set will happen when the
1784 handles are created.
1786 2006-03-22 Peter Dennis Bartok <pbartok@novell.com>
1789 - DeriveWindowStyles: Fixed typo in borderstyle generation (#77828)
1790 - SetVisible: Sending WINDOWPOSCHANGED for all controls when made
1791 visible (to allow them to recalculate their sizes)
1793 2006-03-21 Mike Kestner <mkestner@novell.com>
1795 * ThemeWin32Classic.cs: major refactoring of the ToolBar rendering
1796 methods. Removed a ton of redundant code. Still not really happy with
1797 the border rendering, but I think that's mainly because of the
1798 ControlDarkDark being black instead of a dark grey. Depending on how
1799 close we want to be, we might want to revisit those color choices.
1800 Among the new features added during the refactor were DropDownArrow
1801 pressed rendering, Disabled image rendering. Proper flat appearance
1802 boundary rendering. Removed the Divider and Wrapping dividers since I
1803 can't figure out any combination of themes and conditions to make the
1804 MS control draw a horizontal line on a toolbar despite what the
1805 Divider property docs indicate.
1806 * ToolBar.cs: rewrite the layout engine. Fixes numerous flicker
1807 conditions and incorrect layout. Updated to coding standard.
1808 * ToolBarButton.cs: refactored layout and positioning code from
1809 ToolBar to here. Invalidate wherever possible instead of forcing
1810 redraws of the whole toolbar.
1811 (Known remaining issues: explicit ButtonSize smaller than provided
1814 2006-03-21 Mike Kestner <mkestner@novell.com>
1816 * ContextMenu.cs (Show): use the position parameter instead of just
1817 showing at the MousePosition.
1819 2006-03-21 Jackson Harper <jackson@ximian.com>
1821 * TabControl.cs: Remove the call to ProcessKeyEventArgs and let
1822 control handle this.
1823 * TreeNodeCollection.cs: If we are clearing the root node we need
1824 to reset top_node so calcs can still happen.
1825 * ThemeWin32Classic.cs: This is a Flags so we need to check
1828 2006-03-21 Jackson Harper <jackson@ximian.com>
1830 * DataGrid.cs: Create columns when the binding context has been
1832 * X11Structs.cs: Keysyms are uints.
1833 - Add size to fix build.
1835 2006-03-21 Peter Dennis Bartok <pbartok@novell.com>
1837 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
1839 - Added ResetMouseHover method to allow controls to retrigger
1840 hovering if they need it more than once
1841 - Implemented MouseHoverTime and MouseHoverSize properties
1842 * Timer.cs: Start() must reset the interval
1843 * SystemInformation.cs: Added 2.0 MouseHoverTime and MouseHoverSize
1846 2006-03-21 Jackson Harper <jackson@ximian.com>
1848 * X11Keyboard.cs: improved layout detection. Move the nonchar
1849 tables into this file.
1850 * KeyboardLayouts.cs: Move the tables into resource files.
1852 2006-03-21 Mike Kestner <mkestner@novell.com>
1854 * ListView.cs: use OnItemActivated to raise events. Fixes #77834.
1856 2006-03-21 Alexander Olk <alex.olk@googlemail.com>
1858 * Mime.cs: Various speed optimizations. Looking up mime types
1859 is now 2 times faster than before
1861 2006-03-17 Peter Dennis Bartok <pbartok@novell.com>
1863 * CreateParams.cs: Added internal menu field
1865 - Switched call order for UpdateBounds; now we always call
1866 the one that also takes ClientSize, and we're calculating the
1867 client size via driver method in the others. The previous
1868 method of tracking client size by difference wasn't working
1869 for forms where even the starting client size wouldn't match
1870 the overall form size (due to borders) (Part of fix for #77729)
1871 - CreateParams(): Do not use parent.Handle unless the handle is
1872 already created. Causes havoc with Nexxia and throws off our
1873 creation of controls
1875 - Created new PerformNCCalc method to trigger WM_NCCALCSIZE message
1876 - Switched handling of ConfigureNotify over to new PerformNCCalc
1877 method (consolidates code)
1878 - Changed RequestNCRecalc to use new PerformNCCalc method
1879 - Added calls to RequestNCRecalc when menus and borders are changed
1880 to allow app to set NC size. (Part of fix for #77729) This matches
1881 when MS send a WM_NCRECALC on Win32 windows.
1882 - Now sending WM_WINDOWPOSCHANGED when toplevel for is made visible
1883 (Part of fix for #77729). This matches what MS does, they also
1884 send that message when the form is made visible.
1885 - XException.GetMessage: Improved usability of X errors by including
1886 a translation of the window into Hwnd and Control class
1887 - Improved debug info for window creation, reparenting and destruction
1888 - Created helper method WindowIsMapped() [Currently not used]
1889 * XplatUIWin32.cs: Added ToString() debug helper to RECT structure
1891 - CreateParams: Now setting our menu on the new internal menu field
1892 - SetClientSizeCore: Now passing cp.menu instead of ActiveMenu to
1893 avoid calculating the same property twice
1895 - Improved usability of ToString() for debugging purposes
1896 - GetWindowRectangle(): Now uses proper CalcMenuBarSize method to
1897 determine the height of the menu, instead of just the font. This
1898 required to also create a graphics context and to keep a bmp
1899 around (for performance reasons)
1901 2006-03-17 Peter Dennis Bartok <pbartok@novell.com>
1903 * MenuAPI.cs: Added OnMouseUp method
1905 - Now remembering the requested client size, avoids size errors
1906 - WndProc: Now handling WM_xBUTTONUP and passing it to MenuTracker
1907 instead of base if the menu is active. This is required due to
1908 control now capturing and releasing on down/up and it would
1909 prematurely release our menu capture
1911 2006-03-17 Jackson Harper <jackson@ximian.com>
1913 * KeyboardLayouts.cs: Add the czech layouts.
1915 2006-03-16 Jackson Harper <jackson@ximian.com>
1917 * Control.cs: Use the viewport space when sizing not the controls
1918 client size, so things like ScrollableControl that effect the
1919 viewport size (when scrollbars are added) are computed correctly.
1920 * BindingContext.cs: Cleanup to use the DataSourceEntrys instead
1922 - Handle creating BindingManagers for null data sources.
1923 * DataGrid.cs: Bind the cached_currencymgr_events to the real data
1924 source, otherwise when rows are added they are added to the 'fake'
1925 datasource and we will crash when trying to set the position in
1927 - Use Implicit scrollbars on the datagrid so they arent
1930 2006-03-16 Jackson Harper <jackson@ximian.com>
1933 * InternalWindowManager.cs:
1934 * MdiWindowManager.cs:
1935 * X11Keyboard.cs: I really want Mike to love me again (fix
1938 2006-03-16 Peter Dennis Bartok <pbartok@novell.com>
1941 - OnMouseDown: Switch to editing mode when clicking on the cell
1942 even if we're clicking on the cell that's currently
1944 - ProcessGridKey: Left/Right now wrap like MS.Net does
1945 - ProcessGridKey: Tab now knows to add a new row when tab is
1946 pressed in the cell of the last column of the
1948 - ProcessGridKey: Enter now adds another row if pressed in the last
1949 row and selectes the new row, same column cell
1950 - ProcessGridKey: Home/End navigate columns, not rows, like
1951 originally implemented
1952 - Broke ProcessKeyPreview code out into an extra Internal method
1953 so it can be called from the edit code
1954 * DataGridTextBox.cs (ProcessKeyMessage):
1955 - Switched to accept Tab keypresses
1956 - Added F2 handling to allow jumping to the end of the edited cell
1957 - Added logic to allow moving caret left/right inside edited cell
1958 and making the edited cell jump when the caret hits cell borders
1959 - Tab and Enter are now passed to the datagrid after being handled
1961 - Removed capture code now that Control handles it
1962 - set_SelectionStart now ensures caret is visible
1964 2006-03-16 Jackson Harper <jackson@ximian.com>
1966 * TrackBar.cs: Debackwards the increment/decrement for handling
1967 mouse clicks on the bar with vertical trackbars.
1968 * ThemeWin32Classic.cs: Draw vertical trackbars with 0 at the
1971 2006-03-16 Mike Kestner <mkestner@novell.com>
1973 * ListView.cs: make shift/ctrl keyboard and mouse selection
1974 consistent with the MS control. Fix a bug in
1975 SelectedListViewItemCollection.Clear that was pissing me off for the
1976 better part of a day because the collection was being altered
1977 underneath us as we walked the list.
1979 2006-03-16 Peter Dennis Bartok <pbartok@novell.com>
1981 * Control.cs: Not sure how we could miss this so long, but it seems
1982 that MS.Net has Capture set all the way from before calling
1983 OnMouseDown through sending the mouse events until after
1984 OnMouseUp. This will fix DataGrid's selection being set to end
1985 at the location of the MouseUp.
1987 2006-03-15 Jackson Harper <jackson@ximian.com>
1989 * BindingContext.cs: Check the binding after its added so that it
1990 can initialize the binding managers and hookup to events.
1991 * Binding.cs: Data members seem to sometimes include rows/cols in
1992 the format Row.Column we now take this into account.
1993 - Hookup to the position changed event so we can update the
1994 control when the position has changed in the data set.
1995 * CurrencyManager.cs: Take into account the row/col naming
1996 convention when creating dataset tables.
1997 * BindingContext.cs: Using a newer better way of storing
1998 datasource/datamember pairs. Hopefully this better matches MS for
1999 looking up binding managers.
2002 2006-03-15 Jackson Harper <jackson@ximian.com>
2004 * BindingContext.cs: The currency manager needs the data member
2005 name, if the member is a data set we use the name to find the
2007 * CurrencyManager.cs: When creating the list prefer an IList over
2009 - Attempt to create a DataTable from a DataSet (TODO: might need
2010 some better error checking here, although MS doesn't seem to have much)
2011 - If we have a DataTable create a view and use it as our list.
2013 2006-03-15 Mike Kestner <mkestner@novell.com>
2015 * ListView.cs: keep a matrix of the icon mode layout to facilitate
2016 keyboard navigation. Support Up/Down/Left/Right selection correctly
2017 for all 4 View modes.
2018 * ListViewItem.cs: add internal row/col fields for icon layouts.
2020 2006-03-15 Jackson Harper <jackson@ximian.com>
2022 * TabControl.cs: Redraw the tabs when we resize so their newly
2023 calculated sizes are drawn on screen.
2024 * X11Keyboard.cs: Begginnings of XIM support. We also now support
2025 composite characters.
2026 * XplatUIX11.cs: Keyboard driver needs to know about focus changes
2027 - filter events so that composite characters can be created
2029 * X11Structs.cs: Add XIMProperties enum.
2031 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2033 * Control.cs (BringToFront, SendToBack): Don't use window or handle
2036 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2038 * Control.cs (PerformLayout): We don't need to consider visiblity
2039 for anchoring, only for docking. This fixes 'whacky' alignment
2040 in listbox and other controls that use implicit scrollbars after
2041 the previous PerformLayout patch
2042 * ListBox.cs: Switched to use implicit scrollbars
2044 2006-03-14 Mike Kestner <mkestner@novell.com>
2048 - chain up the "new event" overrides to base and use
2049 OnEvent to raise them. Part of fix for bug #76509.
2051 2006-03-14 Alexander Olk <alex.olk@googlemail.com>
2053 * FileDialog.cs: Do not select an item in the parent directory
2056 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2058 * Control.cs (PerformLayout): It would seem that we considered
2059 invisible windows for our layout. Not quite the right thing
2060 to do. Now we don't any longer, thereby fixing bug #76889.
2062 2006-03-14 Peter Dennis Bartok <pbartok@novell.com>
2064 * Control.cs (CanFocus): I goofed. A control can have focus
2065 even though it's not selectable. Made it match MS docs.
2067 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2069 * ControlPaint.cs (DrawBorder3D): DrawBorder3D does not fill the
2070 center by default (fixes #76895)
2071 * ThemeWin32Classic.cs, ThemeNice.cs, ThemeClearlooks.cs: Replaced
2072 all uses of Border3DSides.All with the explicit ORd together
2073 Left|Right|Top|Bottom because I assume that nobody was aware
2074 that All also implies a center fill. Most places I checked had
2076 * ProgressBarStyle.cs: Added
2078 2006-03-13 Mike Kestner <mkestner@novell.com>
2080 * ListView.cs: fix breakage in drag shadow header positioning
2081 from Peter's csc compilation fix.
2083 2006-03-13 Mike Kestner <mkestner@novell.com>
2085 * ListView.cs: fix NRE produced by backspacing twice in a focused
2088 2006-03-13 Mike Kestner <mkestner@novell.com>
2090 * ListView.cs: proxy Key(Down|Up) from ItemControl to ListView.
2092 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2094 * Hwnd.cs: Added fixed_size field to track windows whose size cannot
2096 * XplatUIX11.cs: Now setting fixed_size on hwnd and if set, re-setting
2097 the allowed size before making programmatic size changes
2099 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2101 * XplatUIX11.cs: Don't call XSetWMNormalHints if no flags are
2102 set, metacity is broken and will still use the emty sizes in
2103 the struct. (Fix for #77089)
2105 2006-03-13 Peter Dennis Bartok <pbartok@novell.com>
2107 * XplatUIStructs.cs: Split WindowStyles into WindowStyles and
2108 WindowExStyles and marked both enums as Flags
2109 * Form.cs, ComboBox.cs, ToolTip.cs, Control.cs, PropertyGridView.cs,
2110 NotifyIcon.cs, MenuAPI.cs, XplatUIOSX.cs, MonthCalendar.cs: Updated
2111 to match WindowStyles split
2113 - SetWMStyles: Added cehck to not apply WM attributes to Child windows
2114 - Updated to match WindowStyles split
2116 - Fixed FosterParent creation, was using ExStyle on the Style field
2117 (This should help with Popup focus issues)
2118 - Updated to match WindowStyles split
2120 2006-03-13 Jackson Harper <jackson@ximian.com>
2122 * MdiWindowManager.cs: Use the system menu height. Fixes some
2123 strange sizing issues.
2125 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
2127 * RichTextBox.cs: Need to scroll to caret after text is inserted (#77672)
2129 - Scroll to caret after inserting text (#77672)
2130 - Make scroll range one pixel higher, fixes off-by-one error (and
2131 makes underlines visible on the last line)
2133 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
2135 * XplatUIX11.cs: Added call to new Keyboard.ResetKeyState to prevent
2136 the keyboard state from being stuck with keys in 'pressed' state when
2137 focus is switched away via keyboard
2138 * X11Keyboard.cs: Added new ResetKeyState method to allow drivers to
2139 reset the keyboard if no X11 KeyUp events are expected to come
2140 * X11Structs.cs: Switched type of Visible to bool to match driver
2142 2006-03-12 Peter Dennis Bartok <pbartok@novell.com>
2145 - Switched caret to be just 1 pixel wide, matches MS and looks less
2147 - Moved caret display 1 pixel down from the top of the control
2149 - InsertCharAtCharet: Update the selection start if moving the caret
2150 (fixes bug #77696; based on patch suggested by kazuki@panicode.com)
2151 - No longer always creating the caret when the caret methods are
2152 called. Only the actual ShowCaret/HideCaret will do that now
2153 - Only setting caret visible if the owner control has focus
2154 - UpdateView: Added invalidation-shortcut logic for center and right
2155 aligned text. Previously we'd update all according to the left
2156 logic which caused drawing errors. Also fixed height of invalidated
2157 areas, now properly invalidating the whole area (was off-by-one)
2158 - owner_HandleCreated: Always generate the document when the
2159 handle is created; this ensures that
2161 - Fixed situation where caret would disappear under the right
2162 window border, also improved scrolling behaviour on left-
2164 - Fixed right-aligned textboxes to have a border to the
2165 right instead of the caret being under the right border
2167 - Switched from 'nested' to simple visible/not visible tracking
2168 for caret (part of fix for #77671)
2169 - No longer passing through translated FocusIn/FocusOut messages
2170 since we were notifying too often and the wrong windows. Instead
2171 we just notify our focussed window of receiving or loosing focus
2172 * XplatUIWin32.cs: Switched from 'nested' show/hide
2173 counting for caret to simple visible yes/no behaviour (part of
2176 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
2178 * Mime.cs: Remove debug code...
2180 2006-03-11 Alexander Olk <alex.olk@googlemail.com>
2182 * MimeGenerated.cs: Removed
2183 * Mime.cs: Mime now reads the mime data (magic, globs, aliases
2184 and subclasses) from /usr/(local/)share/mime and
2185 $HOME/.local/share/mime.
2187 2006-03-10 Jackson Harper <jackson@ximian.com>
2189 * MdiWindowManager.cs: Recalc the NC area when a window is
2190 maximized/restored so that the menu area is drawn on forms that
2193 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2195 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
2196 XplatUIX11.cs: Added RequestNCRecalc method to driver to allow
2197 us to force a WM_NCCALCRESIZE message being sent. This is needed
2200 2006-03-10 Jackson Harper <jackson@ximian.com>
2202 * Form.cs: We need to use the ActiveMenu when calculating menu
2204 - Fix nullref when the window manager hasn't been created yet.
2205 * Control.cs: Fix nullref when we try to bring a control to the
2206 front that has no parent.
2207 * MdiWindowManager.cs: Use the MaximizedMenu for calculating
2209 - Add a dummy item to the maximized menu so it always has the
2210 correct height. Otherwise when there are no menus we don't get our
2214 2006-03-10 Jackson Harper <jackson@ximian.com>
2216 * MenuAPI.cs: Make this available elsewhere. I need it in some MDI
2218 * Form.cs: Make the window_state internal so the window managers
2220 - When an MDI child is maximized let its window manager create the
2221 main menu (so it can add its icon).
2222 - Notify the window managers of state changes
2223 - Let the window manager paint its buttons and handle button
2224 clicks on the menu when it is maximized.
2225 * InternalWindowManager.cs: Move the prev_bounds into the mdi
2226 window manager, since tool windows don't use it, only mdi windows.
2227 - Tell the main form that we don't want it to handle NCPAINT
2228 itself to avoid extra painting.
2229 - Handle clicks on a maximized windows menu.
2230 - Handle window state changes
2231 - Handle minimize/maximize clicks correctly by setting the window state.
2232 * MdiWindowManager.cs: Add an icon menu that (the menu you get
2233 when clicking on the forms icon).
2234 - New method to create a forms maximized menu. This is its normal
2236 - Handle window state changes.
2237 - Handle sizing of maximized windows. Maximized windows are just
2238 drawn bigger then the parent visible area. All controls are still
2239 there, they are just outside the visible area (this matches windows).
2240 * MdiClient.cs: No scrollbars when a child window is maximized.
2241 - Let the children windows figure out how big they should be when
2242 sizing maximized windows.
2243 - Implement a version of ArrangeIconicWindows somewhat similar to
2244 Windows version. There are some little differences, but I don't
2245 think any app will rely on the layout of minimized mdi windows.
2247 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2249 * Padding.cs: Several fixes to allow compiling with csc 2.0
2251 2006-03-09 Jackson Harper <jackson@ximian.com>
2254 * MenuItem.cs: Cheap hack so we can add items to the list without
2255 the events being raised. This allows adding mdi items during
2256 drawing. TODO: Should probably find a better time to add the items.
2258 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2260 * ThemeWin32Classic.cs:
2261 - CheckBox_DrawText: Added logic to not wrap if not enough space
2262 is available (Fix for bug #77727)
2263 - RadioButton_DrawText: Added logic not to wrap if not enough
2264 space is available (Fix for bug #77727). Also removed some
2265 duplicate code, DrawString always drawing the regular text
2266 before hitting the if statement.
2268 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2270 * XplatUIX11.cs: Handle an unmapped window state in SetWindowState
2272 2006-03-10 Peter Dennis Bartok <pbartok@novell.com>
2274 * PictureBox.cs: Implemented ISupportInitialize interface (fixes #77726)
2275 * ContainerControl.cs: Partial implementation of some 2.0 scaling
2276 methods. Moved the new 2.0 properties into alphabetical order with
2277 other properties and added MonoTODO tags
2279 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2281 * AutoScaleMode.cs: Added. Fix build.
2283 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2285 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
2286 XplatUIOSX.cs: Removed HWnd argument from CalcuateClientRect, not used
2287 and was requiring premature handle creation for calls from above
2288 * Form.cs, Control.cs: Removed handle arguments from calls to
2289 CalculateClientRect()
2291 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2293 * ListView.cs (HeaderMouseMove): Fix csc compilation.
2294 drag_column.column_rect is MarshalByRef and can't be used that way
2296 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2298 * AxHost.cs: Added deserialization constructor for
2299 AxHost+State (fixes 77743)
2301 2006-03-09 Mike Kestner <mkestner@novell.com>
2304 - Added column drag reordering for details view.
2305 - fixed behavior when mouse is dragged off column and
2306 AllowColumnReorder is false.
2307 * ColumnHeader.cs: clone the format too in Clone.
2308 * Theme.cs: add DrawListViewHeaderDragDetails method.
2309 * ThemeWin32Classic.cs:
2310 - impl new method for drawing drag column shadows and targets.
2311 - support column offset for details mode in DrawListViewItem.
2313 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2315 * TextControl.cs: Reset the char_count when the document is cleared
2316 (Fixes bug reported on mono-winforms mailing list)
2318 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2320 * TextBoxBase.cs: Honor the Handled state of KeyPress events. Instead
2321 of calling base we simply process the key ourselves, since both
2322 DefWindowProc and the handled method would set m.Result.
2325 2006-03-09 Peter Dennis Bartok <pbartok@novell.com>
2327 * Form.cs(ScaleCore): No longer calling base.ScaleCore since that
2328 method also moves the window; instead implemented a copy of
2329 Control.ScaleCore (Part of fix for #77456)
2331 - Created new CreateGraphicsInternal method to allow providing
2332 a graphics context when no handle is created without triggering
2333 handle creation. (Part of fix for #77456)
2334 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
2336 - Switched Constructor to require TextBoxBase instead of Control (to
2337 allow uncast access to CreateGraphicsInternal)
2338 - Safeguarded use of owner.Handle property. No longer accessing it
2339 unless the handle is already created.
2340 - Replaced use of Control.CreateGraphics with CreateGraphicsInternal
2341 - Now triggering a recalc when owning control becomes visible
2342 * TextBox.cs, RichTextBox.cs: Switched to use new internal
2343 TextBoxBase.CreateGraphicsInternal() method to avoid triggering
2344 premature handle creation (Part of fix for #77456)
2346 - We now only destroy our double-buffering buffers when the
2347 control is resized or disposed, but not when visibility
2348 changes. (The code even re-created them twice every time)
2349 - Now requiring a redraw of the buffer on visibility changes
2350 (fixes bug 77654 part 2)
2351 - Not passing OnParentVisibleChanged up unless the control
2353 - CanFocus: Fixed to match MS documentation
2354 - Focus: Fixed to return actual focus state and to check if
2355 setting focus is legal before setting it
2357 2006-03-08 Peter Dennis Bartok <pbartok@novell.com>
2359 * ThemeWin32Classic.cs: TabPages cannot have focus. Determine
2360 when to draw focus rectangle by looking at parent focus and
2361 selected state instead. This fixes TabPages on Linux sometimes
2362 having none or multiple focus rectangles.
2363 * XplatUIX11.cs (SetFocus):
2364 - Don't set the focus if the same window already has focus
2365 - Use SendMessage instead of PostMessage (like it's Win32
2366 equivalent) and send the WM_SETFOCUS before the WM_KILLFOCUS
2367 to match MS behaviour
2368 * TabControl.cs(SelectedIndex): Don't set Focus on TabPage, TabPages
2371 2006-03-07 Jackson Harper <jackson@ximian.com>
2373 * PictureBox.cs: Revert line I accidently committed last week.
2375 2006-03-07 Peter Dennis Bartok <pbartok@novell.com>
2378 - Added new IsRecreating and ParentIsRecreating properties to
2379 allow testing if RecreateHandle has been called on ourselves
2380 or one of our parents
2381 - WndProc(WM_DESTROY): If our control handle is being recreated
2382 we immediately need to create the handle when receiving the
2383 destroy, that way our child windows find a valid parent handle
2384 when they themselves are being recreated upon WM_DESTROY receipt
2385 (fix for bug #77654 part 1)
2387 - DestroyWindow: WM_DESTROY must be sent to our own window before
2388 notifying any child windows. MS documents that child windows
2389 are still valid when WM_DESTROY is received. (Control now relies on
2391 - Added some fine-grain debug options
2393 2006-03-06 Jackson Harper <jackson@ximian.com>
2395 * MdiClient.cs: Redid scrolling logic a bit to create a virtual
2396 box and base calculations off this.
2397 * MdiChildContext.cs:
2398 * MdiWindowManager.cs: Don't need to ensure scrollbars here
2401 2006-03-06 Peter Dennis Bartok <pbartok@novell.com>
2403 * Splitter.cs: In situations where the affected control is added
2404 to the parent's control list after the splitter, we would not
2405 populate affected. Now we try populating it on mousedown, if
2406 it's not already set, and force it to be re-set whenever our
2409 2006-03-03 Matt Hargett <matt@use.net>
2411 * Control.cs: implement Control.Padding
2412 * Padding.cs: -Padding.All returns -1 when constructing with the
2413 implicit default ctor
2414 -Padding.ToString() matches MS.NET
2415 * ContainerControl.cs: implement
2416 ContainerControl.AutoScaleDimensions
2417 * ListControl.cs: implement ListControl.FormattingEnabled
2418 * TextBox.cs: Implemented TextBox.UseSystemPasswordChar.
2420 * TabPage.cs: Implement UseVisualStyleBackColor.
2421 * PictureBox.cs: Implement PictureBox.InitialImage.
2423 2006-03-03 Mike Kestner <mkestner@novell.com>
2425 * ListView.cs: Refactor into HeaderControl and ItemControl. Fix new
2426 event declarations to proxy to base event.
2427 * ListViewItem.cs: update to use ItemControl.
2428 * Theme.cs: make DrawListViewHeader. s/DrawListView/DrawListViewItems.
2429 * ThemeWin32Classic.cs: update to new ListView theme API and fix
2430 column header label rendering for 0 width columns.
2432 2006-03-03 Peter Dennis Bartok <pbartok@novell.com>
2434 * Control.cs (ControlCollection.SetChildIndex): Avoid using a call
2435 that causes the control to be created. Fixes #77476.
2437 2006-03-02 Jackson Harper <jackson@ximian.com>
2439 * Hwnd.cs: Clear the nc pending when clearing the NC area, not the
2442 2006-03-02 Peter Dennis Bartok <pbartok@novell.com>
2444 * Control.cs: Implemented 2.0 feature where OnClick has MouseEventArgs
2445 passed in for the EventArgs (fixes #77690)
2447 2006-03-01 Jackson Harper <jackson@ximian.com>
2449 * ScrollBar.cs: Refresh afterbeing resized.
2451 2006-02-28 Mike Kestner <mkestner@novell.com>
2453 * MenuAPI.cs: Call PerformPopup internal method to emit Popup.
2454 Clean up a tracker compile warning.
2455 * MenuItem.cs: add internal PerformPopup method.
2458 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
2460 * TextBoxBase.cs (set_Text): Recalculate the document (causing an
2461 implicit expose) when the text is set to null
2463 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
2465 * RichTextBox.cs (FlushText): When newline is true, we always
2466 need to split the line, even if no text is on it and we may
2467 never eat newlines. (Fixes #77669)
2469 2006-02-28 Mike Kestner <mkestner@novell.com>
2471 * ListView.cs: Add UpdateSelection internal method. Remove SelectItem
2472 and set Selected instead.
2473 * ListViewItem.cs: Call owner.UpdateSelection to manipulate the
2476 2006-02-28 Peter Dennis Bartok <pbartok@novell.com>
2478 * ComboBox.cs: Allow setting SelectedIndex to -1. Fixes #77665
2480 2006-02-28 Alexander Olk <alex.olk@googlemail.com>
2483 - Got rid of the panel. All controls are now directly added to
2485 - It is now possible to set a font with the Font property
2486 - MinSize and MaxSize property do now what they should
2487 - ShowApply, ShowHelp, ShowColor, ShowEffects likewise
2488 - Searching and selecting a font with the font textbox works now,
2489 the same applies to the style and size textbox
2490 - Draw the correct 3D border in the example panel
2491 - Fixed a little mem leak (unused fonts didn't get disposed)
2492 - Many other internal updates/rewrites...
2495 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
2498 - InsertRTFFromStream: Added 'number of characters inserted' argument
2499 - set_SelectedRTF: Now using the number of characters to calculate
2500 the new location for the selection and cursor (x/y cannot be used
2501 due to potentially already wrapped text)
2503 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
2505 * TextControl.cs: Added property and implemented means to allow
2506 disabling recalculation of a document (can be used to speed up
2507 multiple inserts and is needed to make RTF inserts predictable, see
2509 * RichTextBox.cs: Using the new NoRecalc property of Document to
2510 keep x/y insert locations predictable. Also makes it faster inserting
2513 2006-02-27 Peter Dennis Bartok <pbartok@novell.com>
2515 * Control.cs: Separated special WM_SYSKEYUP keyboard handling. That way
2516 it's easier for a child control to handle the other messages without
2517 having to duplicate the special functionality
2519 - WndProc: Removed calling base handler for WM_KEYDOWN and added
2520 code to handle processing the key ourselves, in order to get
2521 access to the result of KeyEventArgs.Handled. We now only call
2522 ProcessKey if they key hasn't been handled already. Fixes #77526.
2523 - set_Text: If null or empty string is given, just clear the
2524 document. Fixes part of #77526
2526 2006-02-27 Jackson Harper <jackson@ximian.com>
2528 * SizeGrip.cs: Paint the background color before painting the grip
2529 so things look right.
2530 * MdiClient.cs: Add the sizegrip when both scrollbars are used.
2532 2006-02-27 Mike Kestner <mkestner@novell.com>
2535 - Restructure layout and invalidation model to remove a ton of
2536 flicker from the control and speed up performance in general.
2537 - Add manual column resize, flickers like crazy, but I already have
2538 some ideas on how I'll fix that. (#76822)
2539 - Merge the three Icon-based views into a single layout method.
2540 - Move item selection interaction logic from the item since
2541 interaction with the collections is more appropriate to the view.
2542 - Deselection on non-item clicks.
2544 - Encapsulate most of the layout. Add some internal props to trigger
2545 layout. Move to a model where Items invalidate themselves instead
2546 of just invalidating the whole control every time something changes.
2547 - Invalidate on Text/Caption changes.
2548 - switch to an offset based layout model to avoid having to absolute
2549 position every element on item moves.
2550 - correct checkbox layout to conform to MS layout.
2551 * ThemeWin32Classic.cs:
2552 - refactor some column header drawing code.
2553 - fix string justification for column headers (#76821)
2554 - make SmallIcon labels top justified for compat with MS impl.
2555 * ThemeClearlooks.cs:
2556 - adjust to new ListViewItem internal checkbox bounds api.
2558 2006-02-27 Jackson Harper <jackson@ximian.com>
2560 * Control.cs: Change where implicit controls fall in the zorder.
2561 They are now on top of all children.
2562 - Synced AddImplicit code with Add
2563 - Removed unused enumerator.
2564 * SizeGrip.cs: Remove the TODO as its been TODONE.
2566 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
2568 * TextControl.cs(Insert): Combine the last lines unless the insertion
2569 string ends with \n\n, otherwise we leave one line too many (Fixes
2570 something I noticed with the testapp for #77526; the bug itself was
2571 already fixed in the previous checkin)
2573 2006-02-26 Peter Dennis Bartok <pbartok@novell.com>
2576 - SelectionColor and SelectionFont methods no longer set absolute
2577 styles. Instead, the keep font or color respectively (This
2578 resolves a long-standing FIXME in the code)
2579 - When flushing RTF text, the insert code now considers text trailing
2580 behind the insertion point (Fixes the bug where when replacing
2581 the selected text via SelectedRTF the remainder of the line behind
2582 the selection would stay on the first insertion line)
2584 - AppendText now updates the selection points after inserting text
2585 - AppendText now ensures that the last tag (sometimes 0-length) of
2586 the document is used for the style information (Fixes part of
2589 - Created new FontDefiniton class to allow describing partial style
2591 - StreamLine() now takes a lines argument, to allow it to decide
2592 whether an encountered zero-length tag is the last in the document
2593 (which must be kept to not loose the font/color contained in it,
2595 - Created Combine() and Split() methods for Marker structs, to
2596 support marker updates due to reformatted documents (soft line
2598 - Implemented Document.CaretTag setter
2599 - Fixed MoveCaret(CtrlEnd) handling, now moves to the last character
2600 of the last line (Not the cause, but also exposed by bug #77220)
2601 - Added LineTag argument to InsertString method, to allow callers
2602 to force a certain tag to be used (required to force use of the
2603 trailing zero-length tag of a document)
2604 - Now updating markers in Combine(), to avoid stale tag markers
2605 - Added some method descriptions to aid maintenance
2606 - Implemented new FormatText concept, allowing additive/subtractive
2607 formatting by only specifying the components that are to be
2608 changed. This was needed for resolving the RTB.SelectedColor/
2609 RTB.SelectedFont fixmes
2610 - Added Break() support method to allow breaking up linetags (used
2611 for partial formatting)
2612 - Added GenerateTextFormat() method. It is used for partial
2613 formatting and allows to generate a full font/color from given
2614 attributes and an existing tag.
2616 2006-02-26 Jackson Harper <jackson@ximian.com>
2618 * XplatUIX11.cs: Use the correct caption height.
2619 - Translate hittest coordinates to screen coords to match MS.
2620 * XplatUIWin32.cs: When we create MDI windows we need to reset
2621 some of the style flags, so we get a nice blank window, and can
2622 draw all the decorations ourselves.
2623 - Set a clipping rectangle on the non client paint event, the
2624 window manager drawing code needs one.
2625 * Form.cs: The window manager needs to know when the window state
2627 * Hwnd.cs: The window manager stuff now does a proper NCCALC so we
2628 don't need to factor in border and title sizes in these
2629 methods. TODO: Remove the args and fix the call points.
2630 * InternalWindowManager.cs: Handle NCHITTEST and NCCALCAREA
2632 - Let the driver set the cursors.
2633 - Improve active window handling
2634 - Correct sizes for title bars and buttons.
2635 - Match MS drawing better
2636 * MdiWindowManager.cs: We don't need to handle border style
2637 updates specially anymore.
2638 - Check for scrollbars when windows are done moving
2639 - Handle Active properly.
2640 * MimeIcon.cs: Don't crash when we can't load the GNOME stuff
2641 correctly. I am spewing the exception though, so we don't hide the
2644 2006-02-26 Pedro Martinez Julia <pedromj@gmail.com>
2646 * DataGridViewRowPostPaintEventArgs.cs,
2647 DataGridViewCellPaintingEventArgs.cs,
2648 DataGridViewRowCollection.cs,
2649 DataGridViewRowPrePaintEventArgs.cs,
2650 DataGridViewCell.cs: Clear a few warnings and implement a few
2651 exceptions that should be thrown.
2653 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
2655 * ScrollBar.cs (ctor): Explicitly set a cursor to avoid
2656 'inheriting' our parent's (non-default) cursor. (Part of
2659 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
2661 * XplatUIX11.cs: Fixed cast to make csc happy
2663 2006-02-22 Peter Dennis Bartok <pbartok@novell.com>
2665 * Control.cs (WndProc): Only handle WM_SETCURSOR messages if
2666 it's for the client area (part of fix for #77479 and needed
2667 for MDI window cursor handling)
2669 - DefWindowProc: Now handles the WM_SETCURSOR messages, setting
2670 the appropriate default cursors and also passing the message
2672 - GetMessage: Now generating WM_NCHITTEST and WM_SETCURSOR even
2673 for non-client areas
2675 2006-02-15 Jackson Harper <jackson@ximian.com>
2677 * XplatUIWin32.cs: Since we fake MDI dont tell Windows that this
2678 is a real MDI window
2680 2006-02-14 Alexander Olk <alex.olk@googlemail.com>
2682 * X11DesktopColors.cs: Instead of checking the desktop session
2683 string for "KDE" check if it starts with "KDE"
2685 2006-02-10 Jackson Harper <jackson@ximian.com>
2687 * XplatUIX11.cs: These should be unsigned (fixes crash on 32 bit
2690 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
2692 * FileDialog.cs: Added Refresh to RunDialog to fix some drawing
2695 - Got rid of the panel. All controls are now directly added to
2697 - Changed to mono coding style
2699 2006-02-10 Jackson Harper <jackson@ximian.com>
2701 * InternalWindowManager.cs: We don't need the set visibility to
2702 false hack anymore now that peter has written beautiful shutdown
2705 2006-02-10 Peter Dennis Bartok <pbartok@novell.com>
2707 * XplatUIX11.cs: Ignore DestroyNotify messages for windows that
2708 where already explicitly destroyed
2710 2006-02-10 Jackson Harper <jackson@ximian.com>
2712 * MdiClient.cs: Handle the case where windows are too high or to
2713 the left and we need scrollbars.
2715 2006-02-10 Alexander Olk <alex.olk@googlemail.com>
2717 * MimeIcon.cs: Added some icons
2720 - Got rid of the panel. All controls are now directly added to
2722 - Changed to mono coding style
2723 - On Linux "My Computer" and "My Network" will now show some
2724 more usefull information. A new class, MasterMount, gathers
2725 this information from /proc/mount. Updated MWFFileView to make
2726 use of this information
2727 - Fixed a bug that caused FileDialog to crash when
2728 ".recently_used" file had a zero size
2729 - FilterIndex does now what it should
2731 * OpenFileDialog.cs, SaveFileDialog.cs: Updated to reflect latest
2734 2006-02-09 Jackson Harper <jackson@ximian.com>
2736 * ComboBox.cs: Don't touch if null.
2738 2006-02-09 Peter Dennis Bartok <pbartok@novell.com>
2740 * Cursor.cs: 64bit safeness fix
2741 * XplatUIX11.cs: Removed several unneeded and one moronic cast.
2743 2006-02-09 Jackson Harper <jackson@ximian.com>
2745 * Form.cs: If a form is made into an MDI form update the styles so
2746 all the props can get set correctly.
2747 - Kill the mdi_container when we dont need it anymore.
2748 * InternalWindowManager.cs: Add missing NOT
2750 2006-02-08 Jackson Harper <jackson@ximian.com>
2752 * InternalWindowManager.cs: Respek clipping when drawing MDi
2755 2006-02-08 Jackson Harper <jackson@ximian.com>
2757 * Hwnd.cs: Add bits to track non client expose events.
2758 * XplatUIX11.cs: Track non client expose events on the hwnd. This
2759 gives us a proper invalid rect and will allow for some nice
2760 optimizations with NC client drawing
2761 - MDI windows are children windows, so move their style handling
2762 into the child window block.
2763 * InternalWindowManager.cs: Remove a state reset that was
2764 getting invoked at the wrong time. Fixes managed windows getting
2765 into a 'stuck' captured state.
2767 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
2769 * TextControl.cs (Document.ctor): Now initializing
2770 selection_anchor. Fixes #77493
2772 2006-02-07 Jackson Harper <jackson@ximian.com>
2774 * TrackBar.cs: The increment/decrements were backwards.
2776 2006-02-07 Mike Kestner <mkestner@novell.com>
2778 * Theme*.cs : remove ThemeEngine.Current usage as it just points back
2779 to the instance itself.
2781 2006-02-07 Peter Dennis Bartok <pbartok@novell.com>
2783 * X11DesktopColors.cs, ThemeGtk.cs: The GObject structure is based
2784 on ulongs and pointers, the size differs between 32bit and 64bit
2787 2006-02-07 Mike Kestner <mkestner@novell.com>
2789 * XplatUIX11.cs : force the WorkingArea away from XGetWindowProperty
2790 for 64 bit platforms to work around a metacity bug.
2792 2006-02-07 Jackson Harper <jackson@ximian.com>
2794 * TrackBar.cs: Process the input keys we need, and hookup to
2795 KeyDown instead of using WndProc, so we get key messages.
2797 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
2799 * XplatUIX11.cs: Atoms are only 32bit on the wire, no matter what
2801 * X11Dnd.cs(SetAllowDrop): Since atoms are always 32bit on the wire
2802 we need to translate the XdndVersion atoms array before sending it
2804 2006-02-06 Peter Dennis Bartok <pbartok@novell.com>
2807 - The preceeding 64bit fixes had a bug: ChangeProperty expects the
2808 number of bits for the property, not the number of bytes. The
2809 change to provide IntPtr.Size broke 32bit. (64bit was also wrong
2810 but would not crash since it specified 8 bits instead of 4 bits)
2811 - More 64bit fixes: Switched all atoms from int to IntPtr (they are
2812 defined as XID -> long in the C headers)
2813 - Removed 'new IntPtr((int))' and '(IntPtr)' casts from all NetAtoms
2814 references since those are now IntPtr to begin with
2815 - Switched all Atom.XXX 'int' casts to IntPtr casts
2816 - Fixed XGrabPointer DllImport signature to work for 64bit (cursor arg)
2817 - Fixed XInternAtom signature for 64bit, now returns an IntPtr
2818 - Added XChangeActivePointerGrab DllImport (for X11DnD)
2820 - Changed 'int' type for Atoms in XEvent structures to IntPtr
2821 - Changed atom in HoverStruct to be IntPtr
2823 - Removed local DllImports, switched code to use those from XplatUIX11
2824 - Removed/fixed casts related to the switch of Atom to be a IntPtr
2826 2006-02-06 Mike Kestner <mkestner@novell.com>
2828 * XplatUIX11.cs : many more 64 bit pinvoke changes. I've audited all the
2829 method signatures in the import region. There may still be some
2830 lingering struct marshaling issues, as I didn't drill down into those.
2833 2006-02-06 Jackson Harper <jackson@ximian.com>
2835 * ComboBox.cs: Dont manually set the top_item, this is computed
2836 when the scrollbar position is set.
2838 2006-02-06 Mike Kestner <mkestner@novell.com>
2840 * XplatUIX11.cs : 64 bit changes to XGetWindowProperty usage. Fixes
2841 startup crashes on amd64. There's other fixes needed. All pinvoke
2842 usage of Atom needs to be mapped to IntPtr for example. And there are
2843 likely other int/long issues to be addressed.
2845 2006-02-04 Alexander Olk <alex.olk@googlemail.com>
2847 * FileDialog.cs: One more...
2849 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
2851 * FileDialog.cs: Next try
2853 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
2855 * FileDialog.cs: First part of fix for #77464
2857 2006-02-03 Alexander Olk <alex.olk@googlemail.com>
2859 * ButtonBase.cs, ContainerControl.cs, Forms.cs,
2860 ThemeWin32Classic.cs: Fix for #77458. Correct handling of
2861 AcceptButton border drawing.
2863 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
2865 * Form.cs: Moved positioning of form after auto scaling is applied,
2866 otherwise it would possibly use wrong form size.
2868 2006-02-03 Peter Dennis Bartok <pbartok@novell.com>
2870 * Control.cs (RecreateHandle): No need to re-create any child
2871 controls, the child windows will get destroyed automatically by
2872 the windowing system or driver, and re-created when the handle
2873 is being accessed the first time. Fixes #77456
2874 * Form.cs: No longer setting the form to closing if the handle is
2875 being recreated. This seems like the right thing to do, don't
2876 have a bug or testcase for this, though.
2878 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
2880 * FileDialog.cs: Suspend/Resume layouting when changing sizes of
2881 controls to avoid unwanted side effects
2883 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
2886 - ScaleCore needs to scale the bounds, not the ClientSize of the
2887 control. Fixes #77416.
2888 - DefaultSize is 0,0 for control
2890 - DefaultSize is 100, 20
2891 - SetBoundsCore: Now enforcing the height, no matter if the provided
2892 height is more or less than the preferred one, as long as AutoSize
2894 * Form.cs: Apply documented fudge factor. Part of item 3 fix for #77416
2896 2006-02-02 Peter Dennis Bartok <pbartok@novell.com>
2899 - ResumeLayout: Fixed logic when to call PerformLayout, we may not
2900 call unless both performLayout is true *and* we have a pending
2902 - ResumeLayout: MS does not completely nest Suspend and Resume,
2903 they bottom out at 0, fixed our code to match that.
2904 - UpdateBounds/SetBoundsCore: Moved calling of UpdateDistances() to
2905 SetBoundsCore, we were updating even when we shouldn't. This fixes
2906 swf-anchors mis-anchoring when resizing the app fast and lots.
2907 - UpdateDistances: Now only setting the left and top distance if
2908 we have a parent and are not suspended, this is based on
2909 a suggestion by Don Edvaldson in bug #77355.
2910 - OnVisibleChanged: Fixed logic when to create the control. We may
2911 not create the control if we have no parent or if it's not visible;
2912 switched to using Visible property instead of is_visible field
2913 since the property also considers parent states. This fixes a bug
2914 when starting Paint.Net
2916 2006-02-02 Jackson Harper <jackson@ximian.com>
2918 * Form.cs: If the forms handle hasn't been created yet don't call
2919 into xplatui to make it top most, just set the topmost flag on the
2920 form in CreateParams
2921 * XplatUIX11.cs: Handle WS_EX_TOPMOST.
2923 2006-02-01 Jackson Harper <jackson@ximian.com>
2925 * ScrollableControl.cs: Refactored the Recalculate method a
2926 little, this wasn't handling all the variants of bottom and right
2927 bars needed to be added and added/removed based on their
2928 counterparts being added/removed (which changes the drawable
2929 size). Also we special case client widths and heights of 0 and
2930 don't add the scrollbar for those.
2932 2006-02-01 Peter Dennis Bartok <pbartok@novell.com>
2935 - Added method to get AbsoluteGeometry(); currently unused, but might
2936 be used in the future, if we try again to figure out toplevel
2937 coordinates with some more crappy window managers
2938 - Added FrameExtents() method to retrieve the WM set decoration size
2939 - Tried to fix up AddConfigureNotify and handling of ReparentNotify
2940 to deal with at least KDE, FVWM and metacity (Fixes #77092)
2942 - Added whacky_wm tracking var for metacity
2943 - Added logic to have default menu height if the actual menu height
2944 has not yet been calculated (part of fix for #77426)
2945 * Form.cs: Keep track whether client size has been set and re-set
2946 it if a menu is added/removed afterwards (Fixes #77426)
2948 2006-01-31 Jackson Harper <jackson@ximian.com>
2950 * Control.cs: When a new Site is set on the component attempt to
2951 pull the AmbientProperties from it.
2953 2006-01-31 Peter Dennis Bartok <pbartok@novell.com>
2955 * ThemeWin32Classic.cs: Menu background is drawn in ColorMenu, not
2956 in the background of the owning form. Fixes #77332
2958 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
2960 * MimeIcon.cs: Fix for #77409
2962 2006-01-31 Alexander Olk <alex.olk@googlemail.com>
2964 * XplatUIX11GTK.cs: Initial import
2966 2006-01-31 Jordi Mas i Hernandez <jordimash@gmail.com>
2968 * FixedSizeTextBox: fixes class signature
2970 2006-01-30 Jackson Harper <jackson@ximian.com>
2972 * FixedSizeTextBox.cs: New internal class that represents a
2973 textBox that will not be scaled.
2976 * UpDownBase.cs: Use the new FixedSizeTextBox instead of a
2979 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
2981 * XplatUIX11.cs: Retrieve default screen number instead of
2982 assuming 0. Attempted fix for #77318
2984 2006-01-30 Peter Dennis Bartok <pbartok@novell.com>
2987 - GetWindowPos: When a window is parented by FosterParent, use
2988 the desktop instead of FosterParent as the base to get coordinates
2989 - CreateWindow: Don't make FosterParent the parent window for Popups
2990 if we don't want a taskbar entry, Popups automatically don't get one
2991 * Hwnd.cs: Need to call remove to actually remove the key from the
2994 2006-01-30 Mike Kestner <mkestner@novell.com>
2996 * MenuAPI.cs: adjust MainMenu item popup location to y=0.
2998 2006-01-30 Jackson Harper <jackson@ximian.com>
3001 * TreeNode.cs: Raise events no matter how the treenode is
3002 checked. Patch by Don Edvalson.
3004 2006-01-30 Jackson Harper <jackson@ximian.com>
3006 * TreeNode.cs: Signature fix.
3008 2006-01-29 Alexander Olk <alex.olk@googlemail.com>
3010 * ThemeClearlooks.cs: Fixed a crash in ProgressBar drawing.
3012 2006-01-20 Mike Kestner <mkestner@novell.com>
3014 * Form.cs: Add ActiveTracker property to do Captures and perform mouse
3015 event forwarding when menus are active.
3016 * MenuAPI.cs: kill the GrabControl hack. Use Form.ActiveTracker.
3017 Most of the patch is pdb's with a little rework.
3019 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3021 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs:
3022 Removed GetMenuDC and ReleaseMenuDC methods; replaced
3023 by PaintEventStart(handle, false) and PaintEventEnd(handle, false)
3024 * Form.cs: Changed WM_NCPAINT handler to use PaintEventStart and End
3025 * InternalWindowManager.cs: Added use of PaintEventStart/End to
3026 handling of WM_NCPAINT message, now passing the PaintEventArgs to
3027 the PaintWindowDecorations method
3028 * MainMenu.cs: Switched logic from GetMenuDC to PaintEventStart
3029 * MdiChildContext.cs: Switched logic from GetMenuDC to PaintEventStart
3030 * MenuAPI.cs: Made tracker window invisible
3032 - Removed GetMenuDC and ReleaseMenuDC methods
3033 - Implemented the client=false path for PaintEventStart and
3036 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3038 * XplatUIWin32.cs(SetBorderStyle): Fixed3D needs a border
3039 * XplatUIX11.cs(DeriveWindowStyles): Updated to match fixed Form
3042 - MaximizeBox, MinimizeBox: Recreate the handle when setting
3044 - CreateParams: Reworked the styles to match MS look'n'feel,
3045 removed automatic setting of MinimizeBox, MaximizeBox, etc. via
3046 the WS_OVERLAPPEDWINDOW style. This fixes #76823.
3048 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3050 * XplatUIX11.cs(GetWindowState): Now throwing an exception when the
3051 window is not mapped, since otherwise every form that's being
3052 created is considered minimized, which is wrong.
3053 * Form.cs: Catching the exception and returning our internal value
3056 2006-01-26 Peter Dennis Bartok <pbartok@novell.com>
3058 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added new driver method
3059 SetWindowMinMax() to have means to tell the driver about the minimum,
3060 maximum and maximized state window sizes. (Part of the fix for #76485)
3062 - Implemented tracking of minimum and maximum window size, now calling
3063 new SetWindowMinMax() driver method to tell the driver (Part of the
3065 - Finished handling of WM_GETMINMAXINFO method, now setting all values
3066 (Completes fix for #76485)
3067 - Calling new SetWindowMinMax driver method when the handle for a
3068 form is created, to make sure the driver knows about it even if
3069 the values have been set before the window was created
3070 - Now eating the WM_WINDOWPOSCHANGED message if the form is minimized
3071 to avoid messing up our anchoring calculations (partial fix
3073 * XplatUIStructs.cs: Added MINMAXINFO struct (moved from Win32 driver)
3075 - Added _NET_WM_STATE_HIDDEN property for detecting minimized state
3076 - Improved GetWindowState() to detect 'Minimized' state on Metacity
3077 (and presumably other freedesktop.org compliant WMs). Left the
3078 assumption unmapped=minimized, needed for SetVisible to work.
3079 - Now setting the window state when creating windows
3080 - Fixed SetVisible to consider/set the window state when mapping
3081 a Form. We cannot set the state before it's mapped, and we cannot
3082 use Form.WindowState once it's mapped (since it would ask the
3083 driver and get 'normal'. Therefore, we grab the state before
3084 mapping, map, and then set state.
3085 - Implmemented SetWindowMinMax method; Metacity does not seem to
3086 honor the ZoomHints, though.
3088 - Removed MINMAXINFO (moved to XplatUIStructs)
3089 - Added SetWindowMinMax stub (on Win32 the only way to set that
3090 information is in response to the WM_GETMINMAXINFO message, which
3091 is handled in Form.cs)
3092 - Added logic to SetVisible to set the proper window state when a
3093 form is made visible (fixes #75720)
3095 2006-01-26 Jackson Harper <jackson@ximian.com>
3097 * Control.cs (BeginInvoke): Automagically handle EventHandlers the
3098 same way we handle them with Invoke.
3100 2006-01-25 Peter Dennis Bartok <pbartok@novell.com>
3103 - Added tracking of window state so CreateParams can return
3104 the appropriate style
3105 - Moved setting of WS_CAPTION style in CreateParams to allow
3106 styles without caption
3107 * DataGridTextBoxColumn.cs: We are now also creating the TextBox
3108 control if the TextBox property is accessed. Fixes #77345
3110 - get_Created: now uses is_disposed and is_created to determine
3111 return value (suggested by Jackson)
3112 - CreateHandle: No longer exits if the handle is being recreated
3113 - RecreateHandle: If the handle is not yet created call the
3114 appropriate method to create either control or handle. If the
3115 control is already created CreateHandle will simply exit instead
3116 of just creating the handle
3117 * Hwnd.cs: Removed expose_pending tracking, no longer needed since we
3118 now SendMessage WM_DESTROY directly to the control when DestroyWindow
3121 - When DestroyWindow is called, instead of waiting for the
3122 DestroyNotification from X11, we directly post it to the WndProc
3123 and immediately dispose the hwnd object.
3124 Same applies to DestroyChildWindows, and this obsoletes the
3125 expose_pending tracking. Contrary to Win32 behaviour we destroy our
3126 child windows before our own, to avoid X11 errors.
3127 - Removed the direct sending of WM_PAINT on UpdateWindow
3129 - Reworked DoEvents and GetMessage to allow access to internal queue
3130 even when trying non-blocking access to the queue. Fixes #77335.
3131 Based on a patch suggestion by Don Edvalson. The new private
3132 GetMessage can now also be used as a backend for a PeekMessage
3134 * XplatUI.cs: Improved debug output for CreateWindow
3136 2006-01-25 Jackson Harper <jackson@ximian.com>
3138 * Help.cs: Allow param to be null. Patch by Don Edvalson.
3140 2006-01-24 Jackson Harper <jackson@ximian.com>
3142 * ComboBox.cs: Clamp the max value set for the vertical scrollbar
3143 when we have a MaxDropItems lower then the selected index.
3145 2006-01-24 Jackson Harper <jackson@ximian.com>
3147 * Control.cs: Don't allow selection of non visible controls, allow
3148 selection of controls without parents.
3150 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
3152 * ThemeWin32Classic.cs: Fixes Datagrid drawing issues
3153 * DataGridDrawingLogic.cs: Add editing row only when is necessary
3155 2006-01-23 Jackson Harper <jackson@ximian.com>
3157 * UpDownBase.cs: Make the textbox handle all the selection and
3158 tabbing. This fixes tabing to updown controls.
3160 2006-01-24 Jordi Mas i Hernandez <jordimash@gmail.com>
3162 * TextBoxBase.cs: fixes exception thown the object was null
3164 2006-01-23 Jackson Harper <jackson@ximian.com>
3166 * ButtonBase.cs: Just use the base CreateParams. They set
3167 visibility and enabled correctly.
3170 * MonthCalendar.cs: Lets let the base set as much of the
3171 createparams as possible so we don't have duplicate code all over
3174 2006-01-22 Alexander Olk <alex.olk@googlemail.com>
3176 * ThemeGtk.cs: Added TrackBar and some experimental code to
3177 get double buffering back
3179 2006-01-21 Jordi Mas i Hernandez <jordimash@gmail.com>
3181 * DataGrid.cs: Allows row number set internally higher than the last
3182 when creating a new row. Restores the editing functionality.
3184 2006-01-20 Mike Kestner <mkestner@novell.com>
3186 * MimeIcon.cs: delay Image creation until the icons are accessed
3187 instead of creating 190 scaled images on GnomeHandler startup.
3189 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
3191 * TextBoxBase.cs (WndProc): When handling WM_KEYDOWN we need to
3192 first call base before processing the event. Fixes #77279
3194 2006-01-19 Peter Dennis Bartok <pbartok@novell.com>
3196 * XplatUIWin32.cs, Cursor.cs: Fixed code that wrongly assumed
3197 that the stride for the GDI bitmap would match the stride of
3200 2006-01-19 Alexander Olk <alex.olk@googlemail.com>
3202 * ThemeGtk.cs: Added ProgressBar, RadioButton, CheckBox
3204 2006-01-19 Jackson Harper <jackson@ximian.com>
3206 * ComboBox.cs: Hookup the text controls keydown event so we get
3207 those when the text control has the focus.
3209 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3211 * Label.cs: Now using the base events instead of defining new ones;
3212 this allows us to just call the base properties without having to
3213 duplicate all base property logic
3215 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3217 * Label.cs: A label by default is not a tabstop (Fixes one of our
3218 failing nunit tests)
3220 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3222 * XplatUIWin32.cs: Fixed wrong DoEvents logic. Fixes #77282
3223 * XplatUIX11.cs: Removed WM_PAINT check from DoEvents. Fixes #77282
3225 2006-01-18 Peter Dennis Bartok <pbartok@novell.com>
3227 * Cursor.cs: Reimplemented creating cursor bitmaps without using
3228 the Bitmap(Stream) constructor which is semi-broken on MS GDI+.
3231 - Reimplemented creating Bitmaps from DIBs since the Bitmap(Stream)
3232 constructor creates images that can't be saved. Part of the fix
3234 - Added handling of CF_BITMAP as CF_DIB to clipboard code (Fixes #76103)
3235 - SetWindowState: Switched ShowWindow flags (part of an upcoming
3236 bug fix for handling window state in forms properly)
3238 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3240 * ThemeGtk.cs: Simplify ScrollBar drawing
3242 2006-01-18 Jackson Harper <jackson@ximian.com>
3244 * Splitter.cs: Set the default dock style for the splitter control
3247 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3249 * ThemeGtk.cs: Corrected StateType and ShadowType for
3252 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3254 * Control.cs: Make use of Theme.DoubleBufferingSupported
3256 - Added drawing for flat style buttons
3257 - Added ScrollBar drawing
3259 2006-01-18 Alexander Olk <alex.olk@googlemail.com>
3261 * ThemeClearlooks.cs: Removed some unneeded code.
3262 * ThemeGtk.cs: First part of ThemeGtk enhancements.
3264 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
3266 * LinkLabel.cs: We need to update the hover drawing when
3267 leaving the control as well.
3269 2006-01-18 Jordi Mas i Hernandez <jordimash@gmail.com>
3271 * DataGrid.cs: Clicking on non empty areas in the columns
3272 area was giving an exception
3274 2006-01-17 Jackson Harper <jackson@ximian.com>
3276 * ThemeWin32Classic.cs:
3277 * ListView.cs: Do not draw/clip the headers when the header style
3280 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
3282 * DataGrid.cs: Fixes 77260
3284 2006-01-17 Jordi Mas i Hernandez <jordimash@gmail.com>
3286 * DataGrid.cs: Clicking on a column on a empty grid was giving
3289 2006-01-17 Peter Dennis Bartok <pbartok@novell.com>
3291 * DataGrid.cs (OnKeyDown): Don't use the array if it's empty
3292 or any keypress will crash the grid.
3294 2006-01-17 Mike Kestner <mkestner@novell.com>
3296 * MainMenu.cs (OnMenuChanged): set Height=0 to cause relayout.
3297 * ThemeWin32Classic.cs (CalcItemSize): clear Height/Width for
3298 invisible/previously-visible items.
3301 2006-01-17 Alexander Olk <alex.olk@googlemail.com>
3303 * ThemeClearlooks.cs:
3304 - Added CL_Draw_Button method; now other theme controls that are
3305 not derived from button or do not have a button can draw buttons
3307 - Updated ComboBox drawing
3308 - Beautified RadioButton drawing
3309 - Corrected drawing of bottom and left tabs
3310 - Beautified DateTimePicker and MonthCalendar
3311 - Added CPDrawButton and CPDrawRadioButton
3313 2006-01-16 Jackson Harper <jackson@ximian.com>
3315 * ComboBox.cs: Set the initial value of the scrollbar to the
3316 current index. Reduce the numbers of refreshs and IndexOfs called.
3318 2006-01-14 Alexander Olk <alex.olk@googlemail.com>
3320 * FileDialog.cs: When the file listview is focused hitting the
3321 backspace key moves the fileview to the parent directory
3323 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
3326 - Added RecreateHandle call when changing taskbar visibility to
3327 trigger reparenting in Win32 driver (Fixes #75719)
3328 - If a window has minimize or maximize buttons, it cannot have
3331 - CreateWindow: When no WS_EX_APPWINDOW style is found we parent
3332 the toplevel form with FosterParent (A toolwindow not on the
3333 taskbar) (Fixes #75719)
3334 - Made FosterParent a toolwindow
3336 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
3338 * FileDialog.cs: Don't crash if InitialDirectory doesn't exist
3340 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
3342 * ToolTip.cs: If SetToolTip is called from a control and the mouse
3343 is currently over that control, make sure that tooltip_window.Text
3346 2006-01-13 Mike Kestner <mkestner@novell.com>
3348 * MimeIcon.cs: size_t on lp64 fix for gdk_pixbuf_save_to_file extern.
3350 2006-01-13 Jackson Harper <jackson@ximian.com>
3352 * TreeView.cs: On MS GetNodeAt never actually factors in the X
3353 value passed. Also redraw the selected node when we recieve
3354 focus, so tabbing between trees works correctly.
3356 2006-01-13 Alexander Olk <alex.olk@googlemail.com>
3358 * MimeIcon.cs: GnomeHandler: older gnome versions don't have
3359 ~/.gconf/%gconf-tree.xml, so use
3360 .gconf/desktop/gnome/interface/%gconf.xml
3362 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
3364 * TextControl.cs: Draw text in gray if control is disabled
3366 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
3368 * TreeView.cs: Draw the focus rectangle outside the highlight, to
3369 make sure it's always visible. Fixes #76680.
3371 2006-01-13 Peter Dennis Bartok <pbartok@novell.com>
3373 * TreeView.cs: Implemented Wheel scrolling. Fixes #76531
3375 2006-01-13 Jonathan Chambers <jonathan.chambers@ansys.com>
3377 * PageSetupDialog.cs: Added.
3378 * PrintDialog.cs: Attributes.
3379 * PrintPreviewControl.cs: Updates.
3380 * PrintPreviewDialog.cs: Updates.
3382 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
3384 * Control.cs: Undid my selection check fix, since it's not needed
3386 - Now considering the presence of hscroll/vscroll when sizing
3387 vscroll/hscroll respectively. Fixed bug #77077
3388 - Added Left/Up/Down/Right to IsInputKey list to prevent
3389 ContainerControl from stealing them. This fixes what I broke
3390 with my last checkin.
3392 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
3394 * ScrollableControl.cs: Implemented dockpadding. Fixes #77166. And
3395 I finally understand how the property can be set without a setter :-)
3397 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
3400 - Switched RunLoop to use static Message.Create to create a
3402 - Added PreProcessMessage call in runloop for keyboard events; this
3403 is part of the fix for #77219, I overlooked this originally in the
3404 MSDN doc for PreProcessMessage
3406 - Removed call to PreProcessMessage from handling of keyboard
3407 messages; it's supposed to be done in the message pump
3408 - Moved call to ProcessKeyEventArgs inside ProcessKeyMessage as
3409 per MSDN documentation.
3410 - IsInputChar: All chars are input chars by default; removed the
3411 parent calling chain, MS does not document that
3412 - PreProcessMessage: If IsInputChar is true, we want to return false
3413 to allow dispatching of the message
3414 - When selecting the next control, now also check that we're not
3415 selecting ourselves again and therefore return a false positive.
3417 - Tried to match return values for IsInputKey and ProcessDialogKey
3418 to what MS returns; moved processing of our special keys outside
3419 ProcessDialogKey since MS does not seem to return true on those.
3420 - Moved code that previously was in ProcessDialogKey into new private
3421 ProcessKey method, which gets called upon receipt of WM_KEYDOWN
3422 - Reworked handling of WM_CHAR to not have to duplicate code from
3423 Control.cs anymore, instead we simply call down to base.
3425 2006-01-12 Jackson Harper <jackson@ximian.com>
3427 * ComboBox.cs: We always need to refresh the text area when
3428 EndUpdate is called. Fixes the combobox in the file dialog.
3429 * Control.cs: Don't create the creator_thread until the controls
3430 handle is created. Also in InvokeRequired we check if the
3431 creator_thread is null. This gives the effect of InvokeRequired
3432 returning true if the controls handle is not created yet, and
3435 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
3438 - Added StartLoop() driver method. This is used to allow drivers to
3439 prepare for an upcoming GetMessage/TranslateMessage/DispatchMessage
3440 loop for a particular thread
3441 - Added EndLoop() driver method. This is called once the message
3442 pump for the thread is shut down
3443 - Added SupportsTransparency method to allow the driver to indicate
3444 opacity support for windows
3446 - Removed TODO attribute, completed AllowTransparency property
3447 - Added documented logic to Opacity
3448 * GroupBox.cs, Label.cs, LinkLabel.cs, PropertyGrid.cs, Control.cs,
3449 ButtonBase.cs, CheckedListBox.cs: Combined Jackson's and Miguel's
3450 versions of CompatibleTextRendering
3451 * X11Structs.cs: Added opacity atom to our atom enumeration
3452 * Hwnd.cs: Added opacity tracking (we need to track since the opacity
3453 of a form might be set before it's reparented by the WM, and we need
3454 the opacity value without calling up to Form)
3455 * XplatUIDriver.cs: Added StartLoop(), EndLoop() and
3456 SupportsTransparency() driver methods
3457 * Application.cs: Now calling StartLoop and EndLoop driver methods
3459 - Added opacity atom registration
3460 - Added StartLoop()/EndLoop() methods. They're empty right now but
3461 will need to get implemented when we switch to a per-thread queue
3462 - Implemented SupportsTransparency() method
3463 - Implemented SetWindowTransparency() method
3464 - Added support for setting the opacity value when a window is
3465 reparented (since the opacity needs to be set on the WM frame)
3466 * XplatUIOSX.cs, XplatUIWin32.cs:
3467 - Added SupportsTransparency(), StartLoop() and EndLoop() methods
3469 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
3471 * ThemeClearlooks.cs: Don't crash if TabControl.Parent is null.
3473 2006-01-12 Alexander Olk <alex.olk@googlemail.com>
3475 * FileDialog.cs: Added ToolTip for MWFFileView
3476 * MimeIcon.cs: Rewrote GnomeHandler.
3477 - Get currently used gnome icon theme from
3478 ($HOME)/.gconf/%gconf-tree.xml
3479 - Make use of inherited icon themes
3480 - Support SVG icon themes like Tango via librsvg
3482 2006-01-12 Miguel de Icaza <miguel@novell.com>
3484 Revert's Jackson's revert which broke 2.0 builds. Fix both
3487 * Application.cs: Move the use_compatible_text_rendering outside
3488 the NET_2_0 define. If we ever need to use the
3489 use_compatible_text_rendering on the individual controls they will
3490 access the variable from the common shared code paths.
3492 2006-01-12 Peter Dennis Bartok <pbartok@novell.com>
3495 - Added more granular debug options
3496 - Added method to print both window text and id
3497 - Switched debug output to use new Window() debug method
3498 - Added IsEnabled() driver method
3499 - Added EnableWindow() driver method
3501 - Removed end_modal; no longer needed, new loop handles termination
3502 via 'closing' variable
3503 - If form is modal, setting DialogResult will now initiate loop
3504 termination via 'closing' variable
3505 - Added support for is_enabled/WS_DISABLED to CreateParams
3506 - Close() now just send the WM_CLOSE message; the WM_CLOSE handler
3508 - Removed code that's now in RunLoop from ShowDialog()
3509 - Added various documented sanity checks to ShowDialog()
3510 - Added handling of WM_DESTROY message; we set 'closing' on getting
3511 the message to indicate the message pump to terminate
3512 - Added handling of new internal WM_CLOSE_INTERNAL message - it's
3513 send by the Application.ExitThread method. (We send the message
3514 to destroy the window after all other events have been
3515 processed through the queue, instead of destroying the handle
3517 - Moved code from Close() method to WM_CLOSE handler; added logic
3518 to only send close-related events if the form is not displayed
3520 * Splitter.cs (..ctor): Fixed typo in resource name
3522 - DrawBackgroundImage: Explicitly selecting the wrap mode for the
3524 - set_Cursor: Now only setting calling into XplatUI if the handle for
3525 the control is already created; this avoids implict handle creation
3526 or crashes if it's not created
3527 - set_Enabled: Now setting the enabled state via the new driver method
3528 instead of just tracking it
3529 - CreateParams: Added logic to set WS_DISABLED based on enabled state
3530 - CreateControl: Reordered event firing and method calls to more
3531 closely fire events in the order MS does. Now setting the
3532 enabled state in the driver when creating the control.
3533 - SetVisibleCore: Moved when the OnVisibleChanged event is fired to
3535 * FolderBrowserDialog.cs, MessageBox.cs, ButtonBase.cs, TrackBar.cs,
3536 MonthCalendar.cs: get_CreateParams: Added setting of WS_DISABLED
3537 * XplatUIStructs.cs: Added internal WM_CLOSE_INTERNAL mesage id
3539 - Added tracking of window enabled state (get_Enabled/set_Enabled)
3540 - Added EnabledHwnd property to easily allow a driver to find the
3541 handle of the first enabled window in the parent chain (this is
3542 used by drivers to pass up input events of disabled windows)
3543 * XplatUIDriver.cs: Added IsEnabled() method
3545 - Removed crude and obsolete exiting tracking variable
3546 - Removed internal ModalRun(); replaced by RunLoop()
3547 - Implemented private CloseForms() method to allow closing all
3548 windows owned by a particular (or all) threads
3549 - Exit() now properly closes all windows without forcing the message
3551 - Removed obsolete InternalExit() method
3552 - Changed Run() methods to use new RunLoop() message pump
3553 - Implemented new RunLoop() method for both modal and non-modal forms
3555 - get_CreateParams: Added setting of WS_DISABLED
3556 - Simplified ShowDialog(); now all the work is done in RunLoop(),
3557 invoked via Form.ShowDialog()
3558 * NativeWindow.cs: We don't remove the window from the collection when
3559 the handle is destroyed; there might still be messages for it in the
3560 queue (mainly the resulting WM_DESTROY); instead it will be removed
3561 when Control calls InvalidateHandle in the WM_DESTROY handler
3563 - CreateWindow: Added logic to handle the WS_DISABLED window style
3564 - EnableWindow: Implemented based on Hwnd.Enabled
3565 - GetMessage: Reset PostQuitState so the method can be called again
3566 - Implemented support for disabled windows (passing messages to the
3567 first enabled parent) in handling all input messages
3568 - Added optimizations for handling Expose events
3569 - Implemeted new driver method IsEnabled()
3570 - Now always resetting paint pending tracking vars when we start paint
3571 - Re-implemented UpdateWindow via just sending a WM_PAINT message
3572 * XplatUIOSX.cs: Added IsEnabled method stub
3573 * XplatUIWin32.cs: Implemented new IsEnabled() method
3575 2006-01-11 Jackson Harper <jackson@ximian.com>
3577 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
3578 LinkLabel.cs, PropertyGrid.cs: Unbreak 1.1 build. Consolidate the
3580 * ColorDialog.cs: Clear out the old form before adding the new
3583 2006-01-11 Jackson Harper <jackson@ximian.com>
3585 * X11Dnd.cs: Make sure to add all the text formats when adding
3586 strings to the data object.
3587 * TreeNodeCollection.cs: When adding to a sorted tree we need to
3588 do some redrawing too. Also change the UpdateNode to an
3589 UpdateBelow so the newly added node gets painted.
3591 2006-01-11 Miguel de Icaza <miguel@novell.com>
3593 * ButtonBase.cs, CheckedListBox.cs, GroupBox.cs, Label.cs,
3594 LinkLabel.cs, PropertyGrid.cs: Implement the
3595 UseCompatibleTextRendering property for 2.x
3597 * Application.cs (SetCompatibleTextRenderingDefault): Add.
3599 2006-01-11 Jackson Harper <jackson@ximian.com>
3601 * TreeView.cs: Use the property for setting the selected node so
3602 the correct events get raised.
3603 * TreeNode.cs: Update the tree when the fore/back colours of a
3606 2006-01-10 Jackson Harper <jackson@ximian.com>
3608 * TreeView.cs: Allow setting SelectedNode to null.
3610 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
3612 * Form.cs: Fix support for Form TransparencyKey and Opacity on Windows.
3614 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
3616 * PrintControllerWithStatusDialog.cs: Update page number in dialog.
3618 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
3620 * PrintDialog.cs: Added attributes and set default property values.
3622 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
3624 * PrintControllerWithStatusDialog.cs:
3625 Added PrintControllerWithStatusDialog.
3627 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
3629 * XplatUI.cs, Form.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
3630 XplatUIWin32.cs: Added support for Form TransparencyKey and Opacity on Windows.
3632 2006-01-9 Jonathan Chambers <jonathan.chambers@ansys.com>
3634 * ComboBox.cs: Fix crash when there is no selected item (due to last commit)
3636 2006-01-09 Jonathan Chambers <jonathan.chambers@ansys.com>
3638 * ComboBox.cs: Added KeyDown event handler for processing arrow keys
3639 and PgUp/PgDown. Also, scroll to selected item upon dropdown. Bugs 76857 and 76788.
3641 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
3643 * MimeIcon.cs: Added internal class SVGUtil.
3645 2006-01-08 Alexander Olk <alex.olk@googlemail.com>
3647 * FileDialog.cs: Don't crash if there are two files with the
3648 same name but different locations.
3650 2006-01-08 John BouAntoun <jba-mono@optusnet.com.au>
3652 * MonthCalendar.cs: Fixed annoying rendering bug when selecting
3653 dates across multiple month grids. Used to not highlight entire
3654 month, but does now.
3656 2006-01-06 Jackson Harper <jackson@ximian.com>
3658 * MonthCalendar.cs: Removed DoEvents call to prevent a running
3659 message loop. Change timer intervals to numbers that seem more
3662 2006-01-06 John BouAntoun <jba-mono@optusnet.com.au>
3664 * DateTimePicker.cs: Modified CalculateDropDownLocation to use the screen
3665 object for location info since screen object is now implemented.
3667 2006-01-05 Jackson Harper <jackson@ximian.com>
3669 * AsyncMethodData.cs: Check if the call is complete before doing a WaitOne
3670 * AsyncMethodResult.cs: We no longer use a WeakReference for the
3671 AsyncMethodResult, this is because we ALWAYS want the
3672 ManualResetEvent to get set.
3673 * Control.cs: When disposing use an async invoke to call shutdown
3674 code, so that thigns don't block on the finalizer thread. Also
3675 check if we even have a message loop before trying to send
3676 messages, if we don't then don't bother sending messages.
3677 - No more weak references for async methods
3678 * XplatUIDriver.cs: No more weak references for async methods.
3680 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
3682 * FontDialog.cs: Fix, don't throw an exception if FontFamily.Families
3683 returns two FontFamily with the same name
3685 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
3687 * ThemeWin32Classic.cs, ThemeClearlooks.cs: Dropped stupid scheme of
3688 drawing disabled text. Instead using the ColorGrayText color
3690 2006-01-04 Jackson Harper <jackson@ximian.com>
3692 * TreeNode.cs: redraw the node when its image index is changed.
3694 2006-01-04 Peter Dennis Bartok <pbartok@novell.com>
3696 * RichTextBox.cs: Same fix as last, just for SelectionColor. This
3697 time I checked there are no others like it.
3699 2006-01-04 Jackson Harper <jackson@ximian.com>
3701 * AsyncMethodResult.cs: Use a ManualResetEvent instead of a mutex,
3702 this gives the behavoir I was looking for.
3703 * Control.cs: Special case Invoking EventHandlers, this matches MS
3704 and fixes part of bug #76326.
3706 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
3708 * ThemeClearlooks.cs, FileDialog.cs:
3709 - Reflect the latest Theme class changes
3710 - Remove Mono.Unix.Syscall.time in FileDialg and replace it
3713 2006-01-04 Alexander Olk <alex.olk@googlemail.com>
3715 * Theme.cs: Cache UI resource images and resize them if needed
3717 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
3719 * RichTextBox.cs: FormatText is 1-based, make it so when SelectionFont
3720 is called. This fixes the crash in Nexxia when setting the font
3721 attributes in the chat. [However, RTF needs a look-over to make sure
3722 that all SelectionXXX methods handle the special case that selection
3723 is empty and therefore the change must be applied to all text starting
3724 at the cursor/selection start]
3726 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
3728 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
3729 XplatUIOSX.cs: Added SendMessage and PostMessage methods
3730 * X11Keyboard.cs: Switched to new way of calling PostMessage
3732 2006-01-03 Peter Dennis Bartok <pbartok@novell.com>
3734 * Theme.cs: Added theme interface for images to allow the theme to
3735 control what images are used for things like FileDialog, MessageBox
3737 * MessageBox.cs: Now uses the new Theme icon/image interfaces
3739 2006-01-03 Alexander Olk <alex.olk@googlemail.com>
3742 - Removed some dead code
3743 - Opening a recently used file does work now
3744 - Small UI enhancements
3747 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
3749 * FileDialog.cs: Forgot too add __MonoCS__
3751 2006-01-02 Alexander Olk <alex.olk@googlemail.com>
3753 * FileDialog.cs: We are able to read recently used files now let's
3754 go on and write them.
3756 2006-01-01 Alexander Olk <alex.olk@googlemail.com>
3758 * FileDialog.cs: Breathe some life into "last open"/"recently used"
3760 * MimeIcon.cs: Do a check for the top level media type also
3762 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
3764 * ThemeClearlooks.cs:
3765 - Added CPDrawStringDisabled
3766 - ButtonBase_DrawText: Workaround for a DrawString bug; cut off
3767 some chars if the text doesn't fit into text_rect
3768 - DrawListViewItem: If View = View.LargeIcon center the image;
3769 rewrote the drawing of ListViewItem.Text if View =
3772 2005-12-31 Alexander Olk <alex.olk@googlemail.com>
3774 * MimeIcon.cs: Use default KDE icon theme if there is no
3775 "48x48" directory for the current icon theme, fixes #77114
3776 * Mime.cs: Disable not working and actually not used code.
3777 * ThemeWin32Classic.cs:
3778 - Replace "new SolidBrush" in GetControlBackBrush and
3779 GetControlForeBrush with ResPool.GetSolidBrush
3780 - Changed DrawListViewItem from private to protected virtual
3782 - Added form.MaximizeBox = true
3783 - Don't throw an exception if there is a broken symbolic link
3785 2005-12-23 Jackson Harper <jackson@ximian.com>
3787 * TabControl.cs: Give the panels focus, keyboard navigation is
3788 fixed so this works correctly now.
3789 - We need these key events also.
3790 * ToolBar.cs: Remove some of the poor mans double buffering.
3792 2005-12-24 Alexander Olk <alex.olk@googlemail.com>
3794 * ComboBox.cs: The internal TextBox now returns the focus.
3796 2005-12-23 Jackson Harper <jackson@ximian.com>
3798 * ThemeWin32Classic.cs: Draw the text for all tab appearances.
3800 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
3802 * Control.cs: Removed debug code
3803 * XplatUIX11.cs: Changed DestroyChildWindows to also consider
3806 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
3808 * Control.cs: When creating the control, update the Z-order after
3809 all it's children are created, too. (Fixes nexxia not showing
3812 2005-12-23 Peter Dennis Bartok <pbartok@novell.com>
3814 * Control.cs: Do not update the anchoring distances if layout is
3815 suspended, instead do it once layout is resumed
3817 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
3820 - After many hours of debugging, for both Jackson and
3821 myself, it turns out that it helps to set the parent of a control
3822 if you want to actually see it onscreen. In the spirit of that
3823 discovery, we're now setting the parent of the control and
3824 it's children when the control's handle is created. This fix
3825 will make Lutz Roeder's Reflector run happily.
3826 - now just creating the handle instead of the whole control when
3827 getting a graphics context for the control.
3829 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
3831 * ScrollableControl.cs: When calculating the canvas, don't consider
3832 the scrollbar widths. Instead, predict if horizontal scrollbar
3833 will affect canvas when deciding on vertical display and vice versa.
3835 2005-12-22 Peter Dennis Bartok <pbartok@novell.com>
3837 * RichTextBox.cs: Set default RTF font for documents that don't
3838 have a font table (Fixes #77076)
3840 2005-12-22 Jackson Harper <jackson@ximian.com>
3842 * TextBoxBase.cs: It's difficult to do, but you can have an empty
3843 clipboard. This prevents a NullRef in that case.
3844 * XplatUIX11.cs: Use CLIPBOARD not PRIMARY for our
3845 clipboard. PRIMARY is for the currently selected text only. (We
3846 should implement PRIMARY at some point.
3848 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
3850 * XplatUIWin32.cs: Fixed the TEXTMETRIC structure, we were calling
3851 a Unicode function with a structure that was defined in Ansi way.
3854 2005-12-21 Jackson Harper <jackson@ximian.com>
3856 * StatusBar.cs: Statusbar handles its fore/back colours on it's
3857 on. Because thats how it rolls. (and this avoids it using ambient
3859 * ThemeWin32Classic.cs: Use the proper back color for filling.
3860 * Menu.cs: Use the system menu bar color for drawing menu
3861 bars. Using the window back color will bring ambient colours into
3864 2005-12-21 Alexander Olk <alex.olk@googlemail.com>
3866 * ColorDialog.cs: Fixed a memory leak that caused a SIGSEV. A lot of
3867 Bitmaps were created and not disposed.
3869 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
3871 * Control.cs (CreateControl): Don't do anything if the control is
3872 already created, otherwise we'd fire the OnCreated event more than
3875 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
3877 * ComboBox.cs (FindStringCaseInsensitive): Don't search for emtpy strings,
3878 will always match. Instead return -1. Fixes #76464.
3880 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
3882 * TextControl.cs (RecalculateLine): Only wrap if the wrap point is
3883 neither the beginning nor the end of the line (Fixes bug #76479)
3885 2005-12-21 Peter Dennis Bartok <pbartok@novell.com>
3888 - ControlNativeWindow.ControlFromHandle(): Now handling situation
3889 where handle is invalid
3890 - FromHandle(): Now using hashtable-based ControlFromHandle() lookup
3891 instead of slower linear search
3892 * NativeWindow.cs: Don't remove the window from the hashtable until
3893 after the driver has destroyed it (since the driver might use
3894 Control.FromHandle to lookup the control object
3895 * Hwnd.cs: Added DestroyPending property to track if a window is
3896 already destroyed as far as the driver is concerned and only hasn't
3897 yet notified the control
3899 - Activate(): Check if the window is still valid before using the
3901 - Implemented DestroyChildWindow() method to mark child windows as
3902 destroyed when a window is destroyed. This prevents situations
3903 where we might call an X method based on queued events for a
3904 window that already has been destroyed but we haven't yet pulled
3905 the destroy method from the queue.
3906 - Added a call to the new DestroyChildWindow() method to the drivers
3907 DestroyWindow code. Also now marking the destroyed window itself
3910 2005-12-20 Jackson Harper <jackson@ximian.com>
3913 * StatusBarPanel.cs: Don't calculate panel sizes on draw
3914 anymore. Just do them when needed, also track the rects of panels
3915 so that we can optimize refreshing more in the future.
3917 2005-12-20 Alexander Olk <alex.olk@googlemail.com>
3919 * ColorDialog.cs: Fixed focus drawing in small color controls
3921 2005-12-19 Jackson Harper <jackson@ximian.com>
3923 * InternalWindowManager.cs:
3924 * MdiWindowManager.cs: Cleanup some coordinate system changes so
3925 moving windows works properly.
3927 2005-12-19 Peter Dennis Bartok <pbartok@novell.com>
3930 - Removed call to InitLayout() from SetBoundsCore(); doc says
3931 it's only called when a control is added to a container
3932 - Split InitLayout logic, moved to separate UpdateDistances() method
3933 since we need to perform those calculations more often than just
3934 when adding the control to a container. (Needed to fix #77022)
3935 - Now calling UpdateDistances() from UpdateBounds() (fixes #77022)
3936 - Reduced the OnBindingContextChanged events count, don't send them
3937 unless the control is created, we still aren't totally matching
3938 MS, but I can't quite figure out some of their rules
3940 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
3942 * ThemeClearlooks.cs: Corrected distance between ProgressBar
3945 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
3947 * ThemeClearlooks.cs:
3948 - Updated ProgressBar drawing
3949 - Corrected drawing of ScrollBars and scroll buttons
3950 - Some temporary fixes for minor pixel artefacts
3952 2005-12-18 Peter Dennis Bartok <pbartok@novell.com>
3955 - Reworked Controls.Add(), Controls.Remove() and set_Parent() to
3956 cause events to be sent in the same order as MS does.
3957 - Added ChangeParent() method to trigger various OnXXXChanged events
3958 that need to be fired when a parent changes (This is a reworking
3959 of the patch from r54254, with the X11 errors fixed)
3960 - Removed SuspendLayout()/ResumeLayout() calls from Controls.Clear()
3961 since on MS we get OnLayoutChanged events when calling Clear()
3962 - Changed Enabled property to consider parent state as well, if a
3963 parent is not enabled, the control will not be either
3964 - Changed Parent property to simply call Controls.Add() since that
3965 now does all the work required, this way we avoid code duplication
3966 - Threw in a few OnBindingsContextChanged calls to try and match
3967 when MS sends them. We seem to send a few too many, though.
3968 - Added call to CreateControl when adding the control to a parent.
3969 We were never calling CreateControl. Still needs some work, in
3970 some places we treat HandleCreated and ControlCreated as equal,
3972 - Removed obsolete commented out code from UpdateZOrder()
3974 2005-12-18 Alexander Olk <alex.olk@googlemail.com>
3976 * ThemeClearlooks.cs: Updated TrackBar drawing.
3978 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
3980 * FileDialog.cs: Patch for #76901 by Atsushi Enomoto
3982 2005-12-17 Alexander Olk <alex.olk@googlemail.com>
3984 * FileDialog.cs: Add the Help button and the open readonly
3985 checkbox only if needed
3987 2005-12-16 Jackson Harper <jackson@ximian.com>
3989 * Control.cs: Make sure we have an active menu before trying to
3990 process commands on it. Prevents menu-less forms from crashing
3991 when Alt is pressed.
3992 * TreeNodeCollection.cs: Some fixes to prevent null refs. Patch by
3994 * RichTextBox.cs: Expand statement to help out gmcs and fix the
3997 2005-12-16 Jackson Harper <jackson@ximian.com>
3999 * InternalWindowManager.cs: Don't translate tool windows screen
4000 coordinates. This fixes windows 'bouncing' around when being moved.
4002 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
4005 - MaxLength now treats 2^31-1 equal to unlimited length (this is
4006 not quite MS compatible, MS uses that number only for single line
4007 and 2^32-1 for multi-line, but I figure it won't hurt keeping
4009 - Now enforcing the MaxLength limit when entering characters
4010 - Added argument to internal Paste() method to track if it's called
4011 from programatically or via keyboard, since keyboard driven pastes
4012 need to enforce max-length
4013 - Added logic to Paste to only paste as many chars as MaxLength
4015 * RichTextBox.cs: Updated to use new obey argument for internal Paste()
4017 - Added Length property to return number of characters in document
4018 - Added private CharCount property which only tracks actual chars
4019 in the document (no linefeeds) and fires event when CharCount
4021 - Added tracking of character count to all methods that alter it
4022 - Added LengthChanged event to allow applications to subscribe
4023 to any changes to the document
4025 2005-12-15 Peter Dennis Bartok <pbartok@novell.com>
4028 - Removed local password_char field (moved to TextBoxBase)
4029 - Now setting the document's password var when password is
4032 - Added password_char field (needed here so MultiLine can
4034 - Added logic to MultiLine property setter to set the document's
4035 variable when password display is allowed
4036 - Removed debug code and made some debug code conditional
4038 - Added RecalculatePasswordLine() method to handle special password
4040 - Added PasswordChar property, also added related tracking vars
4041 - Draw() method now uses local text var for grabbing text to draw,
4042 this var is set to line.text unless we're doing password display,
4043 then it is set to the pre-generated all-password-chars line
4044 - Added calling RecalculatePasswordLine() method for password lines
4046 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
4049 - Added Reparented property to allow tracking of Window Manager
4050 reparenting actions (which affect X/Y calculations of toplevel
4052 - Made ToString() print window handles in hex
4054 - AddConfigureNotify(): Now uses reparented state off Hwnd to
4055 determine if X/Y needs offsetting
4056 - AddConfigureNotify(): Fixed offset calculations
4057 - Now adds ReparentNotify messages into the queue
4058 - Now processes ReparentNotify messages and causes a
4059 WM_WINDOWPOSCHANGED message to be sent upstream if a window
4060 is reparented (as most likely it's X/Y coordinates are changed
4063 2005-12-14 Jackson Harper <jackson@ximian.com>
4065 * XplatUIX11.cs: Tool windows still need to respek focus.
4067 2005-12-14 Peter Dennis Bartok <pbartok@novell.com>
4069 * Control.cs: Undid 54254 (causing XConfigure errors) so we can
4070 have a working release
4072 2005-12-13 Jackson Harper <jackson@ximian.com>
4074 * Form.cs: Update styles after setting the border style regardless
4075 of whether or not the window is using a window manager.
4077 2005-12-13 Jackson Harper <jackson@ximian.com>
4079 * Form.cs: We now hook into an internal window manager instead of just an
4080 MDI subsystem, this is so we can have properly behaving tool windows.
4081 * MdiClient.cs: Naming change, MdiChildContext is now WindowManager
4082 * InternalWindowManager.cs: New internal class that acts as a
4083 window manager for tool windows and as a base for mdi windows.
4084 * MdiWindowManager.cs: New class that acts as a window manager for
4087 2005-12-12 Jackson Harper <jackson@ximian.com>
4089 * Control.cs: Updates so we match behavoir for for implicit
4090 controls. Fixes explosions in MDI.
4092 2005-12-12 Jackson Harper <jackson@ximian.com>
4094 * Control.cs: Implement Invalidate (Region).
4096 2005-12-12 Peter Dennis Bartok <pbartok@novell.com>
4099 - Changed handling of Controls.Add/Controls.Remove to fire (almost)
4100 the same events as MS does. MS fires events for each property
4101 except, for unknown reasons, Cursor, when the control is reparented.
4102 I can't seem to totally match add/remove since MS also fires some
4103 VisibleChanged events, which makes no sense. Consolidated the
4104 parenting code into a separate method so it can be called from
4105 both Add and Remove. set_Parent no longer needs any special logic
4106 as it calls the parent's add method which implicitly fires
4108 - Removed some obsolete code and debug output
4109 - Enabled state is inherited from parents, if this is enabled
4111 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
4113 * Form.cs: Removed commented out code
4115 2005-12-08 Peter Dennis Bartok <pbartok@novell.com>
4118 - Added internal version of Invoke, with additional argument
4119 indicating if we're calling it from a Dispose() handler. That
4120 way we can avoid BeginInvoke throwing an exception if we're
4121 calling for an already destroyed window.
4122 - Added a dispose argument to BeginInvokeInternal, and made the
4123 check if a valid window handle chain exists conditional on
4124 it not being a dispose call
4125 - Removed code in DestroyHandle to destroy our children. Since we
4126 now handle the WM_DESTROY message we will catch all our children
4128 - Now calling OnHandleDestroyed from our new WM_DESTROY handler
4130 - Added a field to track the application context of the form.
4131 - No need to set closing variable as response to WM_CLOSE, instead
4132 we destroy the window. We also call PostQuitMessage if the form
4133 has an application context (which makes it the main app form,
4134 which, when closed terminates the app)
4136 - Dropped Exit() method, it's naming was confusing
4137 - Added PostQuitMessage() which causes GetMessage to return false
4138 once the message queue is empty
4139 * XplatUIDriver.cs, XplatUIWin32.cs: Dropped Exit(), added
4141 * XplatUIOSX.cs: Switched signature for Exit method since Exit() is
4142 no longer a valid XplatUI method, but left it in since it's used
4143 internally. Added empty PostQuitMessage() method.
4144 * MenuAPI.cs: Replaced call to Exit() with call to
4145 PostQuitMessage, even though this is probably no longer needed.
4146 * Hwnd.cs: Added 'pretty' ToString() to support debugging.
4147 * X11Structs.cs: Added pretty XEvent.ToString() to support debugging.
4149 - Replaced call to XplatUI.Exit() with PostQuitMessage()
4150 - Removed old debug code that would call XplatUI for exception
4151 display, enabled standard exception handling (Still not enabled
4152 though, until NativeWindow's ExternalExceptionHandler define
4155 - Added internal method to allow control to update NativeWindow
4156 after a window has been destroyed
4157 - Added handling of already destroyed windows when calling i
4159 - Added removal of handle from list on ReleaseHandle
4161 - Dropped GetMessageResult var and related code
4162 - Added PostQuitState to field to track if PostQuitMessage has been
4164 - Dropped Exit() method
4165 - Added PostQuitMessage() method
4166 - GetMessage now will return false if PostQuitState is set and no
4167 more messages are in the queue.
4168 - Expose handler will no longer generate WM_PAINT messages if we are
4169 in PostQuitState since it's very likely any windows have already
4170 been destroyed, and since Hwnd won't get updated until we have
4171 processed the DestroyNotify we'd be causing X errors.
4173 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4175 * Control.cs(WndProc): Apparently I'm suffering from brain cloud.
4176 Thanks to Mike for pointing out the err of my ways.
4178 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4180 * Control.cs(PreProcessMessage): Moved menu handling back, but
4181 after all other key handling, to match MS (who handles Menu in
4183 * Menu.cs (WndProc): Removed my brainfart
4185 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4187 * Control.cs(PreProcessMessage): Removed special menu handling
4188 * Menu.cs (WndProc): Added handling of WM_SYSKEYUP for menu purposes.
4190 2005-12-07 Mike Kestner <mkestner@novell.com>
4192 * Control.cs : special case SYSKEYUP so that we can adjust keynav
4193 state according in tracker.
4194 * Menu.cs : promote tracker field to base class and provide a tracker
4195 lookup capability. Add/Remove shortcuts dynamically if the top menu
4196 has a tracker. Unparent items that are removed from the collection.
4197 * MenuAPI.cs : implement mnemonic, shortcut, and arrow-based keynav.
4198 * Theme*.cs: add always_show_hotkeys field to support configurability
4199 of mnemonic display. win32 doesn't show mnemonics until Alt is
4202 2005-12-07 Jackson Harper <jackson@ximian.com>
4204 * MdiChildContext.cs: Use Control.ResetCursor.
4205 * Control.cs: ResetCursor needs to set the property so that the
4206 correct XplatUI call gets made.
4208 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4210 * Control.cs: More fixes to make our key events match MS. We
4211 were not setting the modifier state on KeyData, and we were
4212 not generating any events when Alt was pressed with a key
4213 since handling of WM_SYSxxx was missing for the OnKey methods.
4215 2005-12-07 Jackson Harper <jackson@ximian.com>
4217 * MdiChildContext.cs: reenable the sizing code.
4218 - When the mouse leaves a window reset its cursor.
4220 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
4222 * ThemeClearlooks.cs: Reflect latest Hwnd changes
4224 2005-12-07 Peter Dennis Bartok <pbartok@novell.com>
4226 * Hwnd.cs: Now using the theme 3d bordersize to calculate
4227 widths of Fixed3D borders
4229 2005-12-07 Jackson Harper <jackson@ximian.com>
4231 * MdiClient.cs: Fix warnings. Earn Mike's love.
4233 2005-12-07 Alexander Olk <alex.olk@googlemail.com>
4235 * ThemeClearlooks.cs:
4236 - Adjusted mouse over button color
4237 - Added first parts of CheckBox drawing
4238 - Added correct color for selected text background
4239 - Fixed ComboBox drawing
4240 - Added CPDrawBorder3D and CPDrawBorder
4242 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
4244 * XplatUIX11.cs: Added call to XBell for AudibleAlert
4246 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
4248 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIWin32.cs,
4249 XplatUIOSX.cs: Added AudibleAlert() method to have a means to
4250 alert users via sound. We could add an enum arg with different
4251 types of alerts in the future
4253 2005-12-06 Peter Dennis Bartok <pbartok@novell.com>
4255 * Control.cs: Fix behaviour problems pointed out by Mike
4257 2005-12-05 Mike Kestner <mkestner@novell.com>
4259 * StatusBarPanel.cs: add Invalidate method and hook it into all the
4260 prop setters. Calls parent.Refresh for now, but could be maybe be
4261 optimized with an internal method on StatusBar at some point.
4264 2005-12-05 Peter Dennis Bartok <pbartok@novell.com>
4266 * RichTextBox.cs: Implemented get_SelectionColor
4268 2005-12-05 Alexander Olk <alex.olk@googlemail.com>
4270 * ThemeClearlooks.cs:
4272 - Draw black button border only if button is Form.AcceptButton
4273 - Draw correct button color for pressed RadioButton if the mouse
4274 has entered the button
4275 - Updated ProgressBar drawing!
4276 - Updated CPDrawSizeGrip drawing
4277 - Updated StatusBarPanel drawing
4279 2005-12-05 Mike Kestner <mkestner@novell.com>
4281 * Control.cs (PreProcessMessage): add Keys.Alt based on LParam value.
4282 * X11Keyboard.cs (SendKeyboardInput): formal lParam for alt mod.
4284 2005-12-04 Alexander Olk <alex.olk@googlemail.com>
4286 * ThemeClearlooks.cs: Initial check-in, activate with
4287 export MONO_THEME=clearlooks
4288 * ThemeEngine.cs: Added ThemeClearlooks
4290 2005-12-03 Mike Kestner <mkestner@novell.com>
4292 * MenuAPI.cs: deactivate menus prior to calling item.PerformClick.
4295 2005-12-02 Jackson Harper <jackson@ximian.com>
4297 * Form.cs: If the child form has no menu the default main menu is
4298 used as the active menu.
4300 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
4302 * ListBox.cs: Check if any items exist before trying to resolve
4303 coordinates into items
4305 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
4307 * ThemeWin32Classic.cs: Hatchbrush on Win32 seems to always use white
4308 as the second color for the background hatch
4310 2005-12-02 Peter Dennis Bartok <pbartok@novell.com>
4312 * TextBoxBase.cs: Now uses Jackson's new and improved ImplicitScrollbar
4313 * RichTextBox.cs: FormatText position arguments are 1-based, now making
4314 sure that what we pass to FormatText is always 1-based. Fixes #76885
4316 2005-11-29 Miguel de Icaza <miguel@novell.com>
4318 * NumericUpDown.cs (EndInit): When we are done initializing,
4319 reflect any updates on the UI.
4321 2005-12-02 Jackson Harper <jackson@ximian.com>
4323 * ImplicitHScrollBar.cs:
4324 * ImplicitVScrollBar.cs: New scrollbars that don't take focus from
4325 their container controls.
4326 * TreeView.cs: Use the new implicit scrollbars.
4328 2005-12-02 Jackson Harper <jackson@ximian.com>
4330 * TreeView.cs: Make top_node internal so the TreeNodeCollections
4332 * TreeNodeCollection.cs: If we remove the topnode we need to
4333 update topnode to the next node in line.
4334 - When clearing nodes go through the same process as removing
4335 them, so they get depareneted and checked if they are top node.
4337 2005-12-01 Jackson Harper <jackson@ximian.com>
4339 * TreeView.cs: When imagelists are used the image area is
4340 selectable as well as the text.
4341 - If there are no selected nodes select the first one.
4342 * TreeNodeCollection.cs: Getting the TreeView is mildly expensive,
4343 so don't do it more then we need to.
4345 2005-12-01 Jackson Harper <jackson@ximian.com>
4347 * ThemeWin32Classic.cs: Reimplement the scroll arrow drawing so
4348 that arrows can be scaled.
4350 2005-12-01 Jackson Harper <jackson@ximian.com>
4352 * TreeNode.cs : Fixed bugs that caused FullPathTest + Traverse to
4353 fail. Patch by Dieter Bremes
4355 2005-11-30 Jackson Harper <jackson@ximian.com>
4357 * Form.cs: Property is 2.0 only
4358 * PrintDialog.cs: Signature fix.
4360 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
4363 - No longer artificially moves text 2 pixels down (now that we have
4364 borders this is no longer needed)
4365 - Added calcs for left, hanging and right indent
4367 2005-11-23 Mike Kestner <mkestner@novell.com>
4369 * Menu.cs: mark MenuChanged internal, since it's not exposed by MS.
4371 2005-11-30 Jackson Harper <jackson@ximian.com>
4373 * MdiChildContext.cs: Set the cloned menus forms, as these don't
4374 get cloned as part of CloneMenu ().
4375 * Menu.cs: Make sure the parent of the items get set correctly
4376 when they are added. And the owners are notified of the changes.
4377 * Form.cs: Create an ActiveMenu property, so that when MDI is used
4378 we can change the menu being displayed/handled by the form without
4379 changing the menu assosciated with the form.
4380 - Don't let Mdi children draw/handle menus.
4382 2005-11-30 Jackson Harper <jackson@ximian.com>
4384 * Menu.cs: Switch the MenuChanged method to OnMenuChanged and add
4385 a MenuChanged event. Just to make the API a little more
4388 * MenuItem.cs: Use the new OnMenuChanged
4389 * MdiChildContext.cs: Handle menu merging.
4390 * Form.cs: Implement MergedMenu.
4392 2005-11-30 Jackson Harper <jackson@ximian.com>
4394 * Menu.cs: We were misusing Add. Add goes behind the specified
4395 index according to the docs, and does not replace the specified
4396 index. So I added an Insert method.
4398 2005-11-30 Peter Dennis Bartok <pbartok@novell.com>
4400 * TextBoxBase.cs: Implemented Ctrl-Ins (Copy), Shift-Ins (Paste) and
4401 Shift-Del (Cut), apparently Emacs uses these old Win 2.x keys. This
4403 * RichTextBox.cs: Added calls to base for DnD events
4405 2005-11-28 Peter Dennis Bartok <pbartok@novell.com>
4408 - Fixed drag-selection related crash; style fixes
4409 - Implemented undo class
4410 o Implemented method to capture document state for specified
4411 range in document tree
4412 o Implemented method to restore captured document state
4413 o Implemented cursor tracking
4414 o Implemented basic undo stack
4415 - Added undo cursor tracking to methods altering cursor location
4416 - Added undo tracking to selection deletion (still missing
4417 other text-altering hookups)
4419 - Added SelectionLength property
4420 - Implemented CanPaste()
4421 - Implemented Paste()
4422 - Added missing protected methods
4423 - Fixed RTF->Document conversion; now uses font index 0 and color
4424 index 0 as the default font for the parsed text
4425 - Fixed RTF<->Document font size translation
4426 - Fixed RTF generation, now properly handles cross-tag boundaries
4427 for single line selection
4428 - No longer always appends blank line to generated RTF
4430 - Added missing attributes
4431 - Hooked up undo-related methods
4433 - Implemented Copy()
4434 - Implemented Paste()
4436 - Fixed caret mis-behaviour on backspace across line-boundaries
4438 2005-11-29 Jackson Harper <jackson@ximian.com>
4440 * MdiClient.cs: Add a method for activating mdi children. Very
4441 basic right now. I imagine someday it might need more girth.
4442 * MenuItem.cs: Implement MDI lists. When mdilist is true the mdi
4443 children windows names are added to the menu item.
4444 * ThemeWin32Classic.cs: Draw the arrow if the item is an
4445 mdilist. This happens regardless of whether or not there are any
4446 mdi windows to see in the list, and according to my tests happens
4447 before the items are even added. Also happens if there isn't even
4448 an mdi client to get windows from.
4450 2005-11-29 Alexander Olk <alex.olk@googlemail.com>
4452 * ThemeWin32Classic.cs: Make DrawFlatStyleRadioButton protected
4453 * ThemeNice.cs: Fix drawing of flatstyle radiobuttons
4455 2005-11-29 Jordi Mas i Hernandez <jordimash@gmail.com>
4457 * DataGridTableStyle.cs:
4458 - Create always the styles for the missing columns even if they are
4459 provided by the user (not default table style)
4462 - Fixes SetDataBinding (always re-attach source)
4463 - Fixes SetNewDataSource (only clear styles if they are not for
4465 - Expands OnTableStylesCollectionChanged to handle style refresh
4468 2005-11-29 Jackson Harper <jackson@ximian.com>
4470 * FileDialog.cs: Implement missing bits, remove some dead
4472 * FontDialog.cs: Implement missing Apply stuff, and ToString. Move
4473 creation of the panel so that the options set on the dialog are
4474 seen when the panel is created.
4475 * TreeView.cs: raise a click when items are clicked.
4477 2005-11-29 Jackson Harper <jackson@ximian.com>
4479 * MdiClient.cs: Pass some signature methods through to base.
4481 2005-11-28 Jackson Harper <jackson@ximian.com>
4483 * ListView.cs: Raise the click event when items are clicked.
4485 2005-11-28 Jackson Harper <jackson@ximian.com>
4487 * MdiClient.cs: Make this algorithm even more beautiful. And fix
4490 2005-11-27 Alexander Olk <alex.olk@googlemail.com>
4492 * ThemeNice.cs: - Removed 1 pixel bitmaps
4493 - Use SmoothingMode.AntiAlias where it makes sense
4494 (ScrollButton arrow for example)
4495 - Enhanced Button focus drawing
4496 - Fixed ComboBox drawing (no artefacts anymore, focus
4497 rectangle is back again, reduced size of ComboButton, etc.)
4498 - Fixed RadioButton focus drawing for Appearence.Button
4499 - Slight ScrollButton redesign
4500 - Some LinearGradientBrush size fixes
4501 - GroupBoxes have now rounded edges
4502 - Fixed StatusBar drawing
4504 2005-11-25 Alexander Olk <alex.olk@googlemail.com>
4506 * ThemeNice.cs: - Remove dead code
4507 - use correct background colors for menus, etc.
4508 - Fake pixel drawing with 1 pixel bitmaps
4510 2005-11-24 Jackson Harper <jackson@ximian.com>
4512 * MdiClient.cs: Size the scrollbars when resizing the window.
4513 - Resize the maximized windows when the client is resized
4514 * Form.cs: Make the child context available
4516 2005-11-23 Jackson Harper <jackson@ximian.com>
4518 * MdiChildContext.cs: Don't size windows if they are maximized.
4520 2005-11-23 Mike Kestner <mkestner@novell.com>
4522 * ContextMenu.cs: use MenuTracker.
4523 * Control.cs: remove menu handle usage.
4524 * Form.cs: remove menu handle usage.
4525 * Hwnd.cs: remove menu handle usage.
4526 * MainMenu.cs: Draw method moved here from MenuAPI.DrawMenuBar. Proxy
4527 motion and clicks to the new Tracker handlers.
4528 * Menu.cs: add sizing accessors, SelectedItem prop, kill CreateItems
4530 * MenuAPI.cs: refactored to combine popup and menubar event handling.
4531 Killed the MENU and MENUITEM data types and associated collections
4532 since we now keep the info on Menu and MenuItem. Expanded TRACKER into
4533 MenuTracker class that exposes the leftovers from the old MenuAPI
4534 static methods. Restructured Capture handling so that only one grab is
4535 done for the entire menu hierarchy instead of handing off grabs to
4536 submenus. Tracker now has an invisible control to Capture when active.
4537 * MenuItem.cs: add sizing accessors, kill Create
4539 * Theme.cs: remove menu handle and MENU(ITEM) usage.
4540 * ThemeWin32Classic.cs: use Menu/MenuItem sizing props instead of
4541 MENU(ITEM). remove menu handle usage, use Menu directly.
4542 * XplatUIDriver.cs: remove menu handle usage.
4543 * XplatUIOSX.cs: remove menu handle usage.
4544 * XplatUIWin32.cs: remove menu handle usage.
4545 * XplatUIX11.cs: remove menu handle usage.
4547 2005-11-22 Jackson Harper <jackson@ximian.com>
4549 * Hwnd.cs: Don't compute the menu size for
4550 DefaultClientRectangle.
4551 - Reenable menu sizes being computed for GetClienRectangle.
4552 * Form.cs: Remove comment of trechery
4554 2005-11-22 Jackson Harper <jackson@ximian.com>
4556 * Hwnd.cs: The adjustments for the menu bar are made when it is
4557 attached to the form.
4559 2005-11-19 Jackson Harper <jackson@ximian.com>
4561 * XplatUIX11.cs: Create an HGRN of the invalid area for WM_NCPAINT
4562 (just like on windows).
4564 2005-11-19 Jackson Harper <jackson@ximian.com>
4566 * MdiChildContext.cs: Handle all the buttons ourselves. We can't
4567 use real buttons anymore because they are in non client area. The
4568 one TODO here is that I need to somehow invalidate a section of
4569 the non client area.
4571 2005-11-18 Jackson Harper <jackson@ximian.com>
4573 * Control.cs: Put the enum check back in now that MDI doesnt have
4574 to use this to set border styles.
4575 * Form.cs: Only set mdi child windows borders if the handle has
4577 * MdiChildContext.cs: Don't set the InternalBorderStyle, just pass
4578 this directly on to the driver.
4579 - Get the move start position before adjusting for the titlebar
4580 height, this fixes the windows "skipping" when they are first
4583 2005-11-18 Jackson Harper <jackson@ximian.com>
4585 * XplatUIX11.cs: Just compute the mdi borders separately as they
4586 don't totally match up with normal form borders.
4588 2005-11-18 Jackson Harper <jackson@ximian.com>
4590 * Control.cs: Set WS_ styles for borders, so that the driver does
4591 not have to retrieve the control instance to figure out what kind
4592 of borders it should have.
4593 * Form.cs: Set the WS_EX_MDICHILD flag on mdi children, so the
4594 driver can know its an mdi child easily.
4595 * XplatUIX11.cs: Get the border styles and whether the window is
4596 MDI from the Styles and ExStyles params instead of having to get a
4597 control. This prevents a chicken and egg problem.
4599 2005-11-18 Jackson Harper <jackson@ximian.com>
4601 * MdiClient.cs: Fix typo so scrollbars show up correctly.
4603 2005-11-18 Jackson Harper <jackson@ximian.com>
4605 * MdiClient.cs: Calculate when to add and remove scrollbars
4607 * MdiChildContext.cs: Adjust the y position to take the titlebar
4609 - No height for FormBorderStyle.None
4611 2005-11-18 Jackson Harper <jackson@ximian.com>
4613 * Control.cs: Allow non enum values to be used for
4614 InternalBorderStyle. MDI does this to set a special border style.
4615 - New utility methods for converting points to/from client coords
4616 - Add the newly created control to the Controls collection before
4617 updating its style. This way UpdateStyle can walk the control
4618 heirarchy to find the control if needed.
4619 so I don't need to create a new Point object all the time.
4620 * Form.cs: Let MDI windows handle their border styles.
4621 - Set styles on MDI windows so the correct title style is derived.
4622 * MdiChildContext.cs: Move all the painting and window handling
4623 into the non client area.
4624 - Use correct sizing and put correct buttons on frames based on
4625 the FormBorderStyle.
4626 - Notify the mdi client about scrolling
4627 - Need to handle the buttons ourselves now, because they are all
4628 in non client areas and we can't add controls there.
4629 * MdiClient.cs: Halfway to scrolling, this implementation is
4630 somewhat broken though, we need to check to make sure other
4631 windows aren't causing scrolling before removing the bars. Also
4632 the bars need to be drawn on top, maybe I can switch implicit
4633 controls to be on top.
4634 * Hwnd.cs: caption_height and tool_caption_height are now
4635 properties of an hwnd, this way they can be set by the driver
4636 based on the type of window they are. In X11 the window manager
4637 handles the decorations so caption_height is zero unless its an
4639 - Add 3 pixel borders for MDI windows (0xFFFF).
4640 - Get rid of some code duplication, have DefaultClientRectanle
4641 just call GetClientRectangle.
4642 * XplatUIX11.cs: Pass caption_height and tool_caption_height to
4644 - Set border styles differently for mdi windows.
4645 * XplatUIOSX.cs: Pass caption_height and tool_caption_height to
4648 2005-11-15 Mike Kestner <mkestner@novell.com>
4650 * Menu.cs: when adding an item to the collection, if item is already
4651 parented, remove it from the parent.
4653 2005-11-13 Alexander Olk <alex.olk@googlemail.com>
4655 * X11DesktopColors.cs: Added KDE support
4657 2005-11-11 Peter Dennis Bartok <pbartok@novell.com>
4660 - Clipboard methods now can translate Rtf format
4661 - No longer removes clipboard contents whenever a new format is added
4662 to allow placing multiple formats on the clipboard
4663 * Clipboard.cs: Clipboard now supports getting a IDataObject and
4664 will place all formats contained in it onto the clipboard. Also
4665 now cleans the clipboard before placing a new object onto it
4667 - Implemented set_Rtf
4668 - Implemented set_SelectedRtf
4669 - Created InsertRTFFromStream() method to allow single code base
4670 for all properties and methods that insert RTF into document
4671 - Removed debug output
4673 - Fixed Delete(int) to fix up line numbers
4674 - Fixed ReplaceSelection to combine start and end line
4675 - Fixed serious DeleteChars bug that would leave the document tree
4677 - Improved DumpTree with several logic checks to detect broken
4679 - Removed debug lines
4680 - Fixed Caret.WordForward/WordBack moving code, now always also
4681 updates caret.tag (fixes crash when word-selecting across tag
4682 boundaries via keyboard)
4683 - Added Insert() method for inserting multiline text into documents
4684 - Fixed DeleteChars() calculation errors that would cause a broken
4685 tag chain with multiple tag lines
4686 - DeleteChars() no longer crashes on multi-tag lines if not all tags
4687 - Split() no longer moves caret if split is at caret location
4688 - ReplaceSelection() now updates the cursor and re-displays it
4689 - ReplaceSelection() now uses new Insert() method to avoid code
4691 - FormatText() can now handle formatting partial lines
4693 - Append now uses new TextControl.Insert() method (this avoids
4695 - Implemented Ctrl-X (Cut) (
4696 - Implemented Ctrl-C (Copy)
4697 - Implemented Ctrl-V (Paste) (Still some bugs related to screen
4698 regeneration when pasting text; roundtripping Copy&Paste within
4699 edit control still fails due to some calculation bugs in GenerateRTF)
4700 - The Delete key will now remove the current selection if it is visible
4701 * TextBox.cs: Removed debug lines
4702 * XplatUI.cs: Trigger initialization of DataFormats (which requires the
4703 driver to be initialized and can't therefore be done via a static ctor)
4705 2005-11-10 Peter Dennis Bartok <pbartok@novell.com>
4707 * TextControl.cs: Added backend code for finding char arrays and strings
4709 - Added mouse wheel scroll support
4710 - Added support for VScroll and HScroll events
4712 - Implemented all seven Find() variants
4713 - Implemented GetCharFromPosition()
4714 - Implemented GetCharIndexFromPosition()
4715 - Implemented GetLineFromIndex()
4716 - Implemented GetPositionFromCharIndex();
4717 - Implemented SaveFile for PlainText and UnicodeText
4718 - Fixed set_Font, now setting a new font applies that font to
4720 - Implemented generic Document to RTF converter
4721 - Implemented SaveFile for RichText format (still missing unicode
4722 conversion for non-ansi chars)
4723 - Implemented get_Rtf
4724 - Implemented get_SelectedRtf
4726 2005-11-09 Peter Dennis Bartok <pbartok@novell.com>
4728 * Control.cs (WndProc): Call HandleClick after having sent OnMouseUp
4729 to allow any captures to be released before triggering OnClick. This
4730 way a click handler may capture the mouse without interference.
4731 * XplatUIX11.cs: Always send mouse messages to grab window if one exists.
4732 This way we send them even though X may not allow a grab (if the window
4733 isn't visible, for example)
4735 2005-11-08 Pedro Martinez Julia <pedromj@gmail.com>
4737 * DataGridViewRowEventArgs.cs: DataGridView implementation
4738 * DataGridViewElement.cs: DataGridView implementation
4739 * DataGridViewComboBoxCell.cs: DataGridView implementation
4740 * DataGridViewDataErrorContexts.cs: DataGridView implementation
4741 * DataGridViewCellErrorTextNeededEventArgs.cs: DataGridView implementation
4742 * DataGridViewColumnHeadersHeightSizeMode.cs: DataGridView implementation
4743 * ImageLayout.cs: DataGridView implementation
4744 * DataGridViewComboBoxColumn.cs: DataGridView implementation
4745 * DataGridViewCellMouseEventHandler.cs: DataGridView implementation
4746 * DataGridViewSelectionMode.cs: DataGridView implementation
4747 * IDataGridViewEditingControl.cs: DataGridView implementation
4748 * DataGridViewSortCompareEventHandler.cs: DataGridView implementation
4749 * DataGridViewCellStyleContentChangedEventHandler.cs: DataGridView implementation
4750 * DataGridViewAutoSizeModeEventHandler.cs: DataGridView implementation
4751 * DataGridViewColumnStateChangedEventHandler.cs: DataGridView implementation
4752 * DataGridViewColumnSortMode.cs: DataGridView implementation
4753 * DataGridView.cs: DataGridView implementation
4754 * DataGridViewRowStateChangedEventHandler.cs: DataGridView implementation
4755 * DataGridViewRowPostPaintEventArgs.cs: DataGridView implementation
4756 * DataGridViewDataErrorEventArgs.cs: DataGridView implementation
4757 * Padding.cs: DataGridView implementation
4758 * DataGridViewCellParsingEventArgs.cs: DataGridView implementation
4759 * DataGridViewCellStateChangedEventHandler.cs: DataGridView implementation
4760 * DataGridViewRowEventHandler.cs: DataGridView implementation
4761 * DataGridViewCellPaintingEventHandler.cs: DataGridView implementation
4762 * DataGridViewCellFormattingEventHandler.cs: DataGridView implementation
4763 * DataGridViewButtonCell.cs: DataGridView implementation
4764 * DataGridViewCellStyleContentChangedEventArgs.cs: DataGridView implementation
4765 * DataGridViewEditMode.cs: DataGridView implementation
4766 * DataGridViewCellValueEventArgs.cs: DataGridView implementation
4767 * DataGridViewRowCancelEventArgs.cs: DataGridView implementation
4768 * DataGridViewRowHeadersWidthSizeMode.cs: DataGridView implementation
4769 * DataGridViewCheckBoxColumn.cs: DataGridView implementation
4770 * DataGridViewCellToolTipTextNeededEventHandler.cs: DataGridView implementation
4771 * DataGridViewAutoSizeColumnsMode.cs: DataGridView implementation
4772 * DataGridViewCellEventHandler.cs: DataGridView implementation
4773 * DataGridViewEditingControlShowingEventHandler.cs: DataGridView implementation
4774 * DataGridViewCellStyleConverter.cs: DataGridView implementation
4775 * DataGridViewSelectedRowCollection.cs: DataGridView implementation
4776 * DataGridViewBindingCompleteEventHandler.cs: DataGridView implementation
4777 * DataGridViewColumnEventArgs.cs: DataGridView implementation
4778 * DataGridViewRowHeightInfoPushedEventHandler.cs: DataGridView implementation
4779 * DataGridViewRowContextMenuStripNeededEventHandler.cs: DataGridView implementation
4780 * QuestionEventArgs.cs: DataGridView implementation
4781 * IDataGridViewEditingCell.cs: DataGridView implementation
4782 * DataGridViewTriState.cs: DataGridView implementation
4783 * DataGridViewColumnDesignTimeVisibleAttribute.cs: DataGridView implementation
4784 * DataGridViewCellStateChangedEventArgs.cs: DataGridView implementation
4785 * DataGridViewColumnCollection.cs: DataGridView implementation
4786 * DataGridViewCellValueEventHandler.cs: DataGridView implementation
4787 * DataGridViewRowDividerDoubleClickEventHandler.cs: DataGridView implementation
4788 * DataGridViewCellFormattingEventArgs.cs: DataGridView implementation
4789 * DataGridViewColumn.cs: DataGridView implementation
4790 * DataGridViewCellBorderStyle.cs: DataGridView implementation
4791 * DataGridViewCellContextMenuStripNeededEventHandler.cs: DataGridView implementation
4792 * DataGridViewCellValidatingEventArgs.cs: DataGridView implementation
4793 * DataGridViewRow.cs: DataGridView implementation
4794 * DataGridViewImageCellLayout.cs: DataGridView implementation
4795 * DataGridViewImageCell.cs: DataGridView implementation
4796 * DataGridViewTopLeftHeaderCell.cs: DataGridView implementation
4797 * DataGridViewCheckBoxCell.cs: DataGridView implementation
4798 * DataGridViewHeaderCell.cs: DataGridView implementation
4799 * DataGridViewCellErrorTextNeededEventHandler.cs: DataGridView implementation
4800 * DataGridViewRowHeightInfoPushedEventArgs.cs: DataGridView implementation
4801 * DataGridViewAutoSizeColumnsModeEventHandler.cs: DataGridView implementation
4802 * DataGridViewTextBoxColumn.cs: DataGridView implementation
4803 * QuestionEventHandler.cs: DataGridView implementation
4804 * DataGridViewCellStyleScopes.cs: DataGridView implementation
4805 * DataGridViewSortCompareEventArgs.cs: DataGridView implementation
4806 * DataGridViewCellContextMenuStripNeededEventArgs.cs: DataGridView implementation
4807 * DataGridViewCell.cs: DataGridView implementation
4808 * DataGridViewCellEventArgs.cs: DataGridView implementation
4809 * DataGridViewClipboardCopyMode.cs: DataGridView implementation
4810 * DataGridViewCellStyle.cs: DataGridView implementation
4811 * DataGridViewColumnHeaderCell.cs: DataGridView implementation
4812 * DataGridViewRowPrePaintEventHandler.cs: DataGridView implementation
4813 * DataGridViewRowCancelEventHandler.cs: DataGridView implementation
4814 * TextFormatFlags.cs: DataGridView implementation
4815 * DataGridViewCellToolTipTextNeededEventArgs.cs: DataGridView implementation
4816 * DataGridViewDataErrorEventHandler.cs: DataGridView implementation
4817 * DataGridViewAdvancedCellBorderStyle.cs: DataGridView implementation
4818 * DataGridViewCellPaintingEventArgs.cs: DataGridView implementation
4819 * DataGridViewButtonColumn.cs: DataGridView implementation
4820 * DataGridViewRowsRemovedEventArgs.cs: DataGridView implementation
4821 * HandledMouseEventArgs.cs: DataGridView implementation
4822 * DataGridViewCellParsingEventHandler.cs: DataGridView implementation
4823 * DataGridViewColumnDividerDoubleClickEventHandler.cs: DataGridView implementation
4824 * DataGridViewCellMouseEventArgs.cs: DataGridView implementation
4825 * DataGridViewAutoSizeRowsMode.cs: DataGridView implementation
4826 * DataGridViewRowCollection.cs: DataGridView implementation
4827 * DataGridViewAdvancedBorderStyle.cs: DataGridView implementation
4828 * DataGridViewCellCancelEventHandler.cs: DataGridView implementation
4829 * DataGridViewHitTestType.cs: DataGridView implementation
4830 * DataGridViewAutoSizeModeEventArgs.cs: DataGridView implementation
4831 * DataGridViewColumnStateChangedEventArgs.cs: DataGridView implementation
4832 * DataGridViewColumnEventHandler.cs: DataGridView implementation
4833 * DataGridViewRowDividerDoubleClickEventArgs.cs: DataGridView implementation
4834 * DataGridViewAutoSizeRowMode.cs: DataGridView implementation
4835 * DataGridViewRowHeightInfoNeededEventArgs.cs: DataGridView implementation
4836 * DataGridViewRowsDeletedEventArgs.cs: DataGridView implementation
4837 * DataGridViewTextBoxEditingControl.cs: DataGridView implementation
4838 * DataGridViewContentAlignment.cs: DataGridView implementation
4839 * DataGridViewRowPostPaintEventHandler.cs: DataGridView implementation
4840 * DataGridViewComboBoxEditingControl.cs: DataGridView implementation
4841 * DataGridViewCellValidatingEventHandler.cs: DataGridView implementation
4842 * DataGridViewSelectedColumnCollection.cs: DataGridView implementation
4843 * DataGridViewPaintParts.cs: DataGridView implementation
4844 * DataGridViewCellCollection.cs: DataGridView implementation
4845 * DataGridViewRowsAddedEventArgs.cs: DataGridView implementation
4846 * DataGridViewImageColumn.cs: DataGridView implementation
4847 * DataGridViewRowsRemovedEventHandler.cs: DataGridView implementation
4848 * DataGridViewElementStates.cs: DataGridView implementation
4849 * DataGridViewRowHeightInfoNeededEventHandler.cs: DataGridView implementation
4850 * DataGridViewColumnDividerDoubleClickEventArgs.cs: DataGridView implementation
4851 * DataGridViewRowPrePaintEventArgs.cs: DataGridView implementation
4852 * DataGridViewRowStateChangedEventArgs.cs: DataGridView implementation
4853 * DataGridViewEditingControlShowingEventArgs.cs: DataGridView implementation
4854 * DataGridViewCellCancelEventArgs.cs: DataGridView implementation
4855 * DataGridViewRowHeaderCell.cs: DataGridView implementation
4856 * DataGridViewBindingCompleteEventArgs.cs: DataGridView implementation
4857 * DataGridViewTextBoxCell.cs: DataGridView implementation
4858 * DataGridViewBand.cs: DataGridView implementation
4859 * DataGridViewAutoSizeColumnModeEventArgs.cs: DataGridView implementation
4860 * DataGridViewHeaderBorderStyle.cs: DataGridView implementation
4861 * DataGridViewRowsAddedEventHandler.cs: DataGridView implementation
4862 * DataGridViewAutoSizeColumnMode.cs: DataGridView implementation
4863 * DataGridViewAutoSizeColumnModeEventHandler.cs: DataGridView implementation
4864 * DataGridViewAutoSizeColumnsModeEventArgs.cs: DataGridView implementation
4865 * DataGridViewRowErrorTextNeededEventHandler.cs: DataGridView implementation
4866 * DataGridViewSelectedCellCollection.cs: DataGridView implementation
4867 * DataGridViewRowContextMenuStripNeededEventArgs.cs: DataGridView implementation
4868 * DataGridViewRowErrorTextNeededEventArgs.cs: DataGridView implementation
4869 * DataGridViewComboBoxDisplayStyle.cs: DataGridView implementation
4871 2005-11-08 Peter Dennis Bartok <pbartok@novell.com>
4873 * ThemeWin32Classic.cs:
4874 - Draw the outside focus rectangle around buttons
4875 - Use CPDrawFocusRectangle to draw focus rectangles until Cairo
4876 doesn't use end caps for every dash of a line anymore. This
4877 workaround ignores the forecolor.
4879 2005-11-08 Kornél Pál <kornelpal@hotmail.com>
4881 * ImageList.cs: Don't use ArgbColor with LayoutKind.Explicit as it isn't
4884 2005-11-07 Jackson Harper <jackson@ximian.com>
4886 * X11Dnd.cs: Set the X/Y positions on the DragEventArgs correctly.
4888 2005-11-07 Jackson Harper <jackson@ximian.com>
4890 * ScrollableControl.cs: Calculate the maximum and change vars
4891 (more) correctly so that scrollbars appear as a sensible size.
4893 2005-11-04 Jackson Harper <jackson@ximian.com>
4895 * TreeNodeCollection.cs: Refresh when nodes are cleared from the
4897 * TreeView.cs: When the tree is sorted null out the top_node so
4898 that it is recalculated.
4899 - Use dotted lines instead of dashed lines to match MS better.
4901 2005-11-04 Jordi Mas i Hernandez <jordimash@gmail.com>
4904 - Implements key search for items. Useful when browsing files with FileDialog
4905 - When changing view mode or when clear the items reset scrollbar positions
4907 2005-11-04 Jackson Harper <jackson@ximian.com>
4909 * CurrencyManager.cs: Implement the MetaDataChanged event, the
4910 Reset method, and the CheckEmpty. CheckEmpty is just a total guess
4911 as to what the method may do as there is no real way of creating a
4912 derived CurrencyManager and calling the method.
4914 2005-11-03 Jackson Harper <jackson@ximian.com>
4916 * ThemeWin32Classic.cs: Implement ownerdrawing in the tab control
4917 * TabControl.cs: Add Ownerdrawing bits, add the UpdateTabSelection
4918 method which seems to just be used internally to refresh the tabs.
4920 2005-11-03 Jackson Harper <jackson@ximian.com>
4922 * TabControl.cs: Implement the remove method. Fix some broken
4925 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
4927 * DateTimePicker.cs:
4928 - Added missing DateTimePickerAccessibleObject class
4929 - Added missing events
4930 - Added OnFontChanged method
4931 * Form.cs: Added missing attributes
4932 * TreeView.cs: Added missing attributes
4934 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
4936 * GridItemCollection.cs: Fix signatures
4938 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
4940 * XplatUI.cs: Updated build rev/date
4941 * ComboBox.cs, DataGridTextBoxColumn.cs Control.cs,
4942 DataGridTableStyle.cs, DataGrid.cs, DateTimePicker.cs: Signature fixes
4943 * Application.cs: Trigger context-specific ExitThread events
4945 2005-11-03 Jackson Harper <jackson@ximian.com>
4949 * GridTableStylesCollection.cs:
4954 * MonthCalendar.cs: Signature fixes
4956 2005-11-03 Jackson Harper <jackson@ximian.com>
4958 * TreeNodeCollection.cs: Remove should not be virtual.
4959 * TreeView.cs: Implement the last of the missing methods.
4961 2005-11-03 Jackson Harper <jackson@ximian.com>
4963 * TreeNodeConverter.cs: Implement to get off my class-status back.
4965 2005-11-03 Jackson Harper <jackson@ximian.com>
4967 * TreeView.cs: Hookup the bits for drag and drop.
4968 * TreeNode.cs: Don't cache the tree_view or index anymore, now
4969 that nodes can be moved from tree to tree easily this just causes
4970 all sorts of problems.
4971 * TreeNodeCollection: Don't need to give treenodes an index and
4972 treeview anymore when they are added, these are computed on the
4973 fly. Also make sure to remove a node before its added.
4975 2005-11-03 Peter Dennis Bartok <pbartok@novell.com>
4978 - Added CaretSelection enum
4979 - Added comparison methods to Marker struct, makes selection code
4981 - Added SelectionStart and SelectionEnd as 'moveable' location for
4982 the CaretDirection enum and handler
4983 - Added selection_prev variable to track optimized invalidation for
4984 word and line selection
4985 - Added SelectionVisible property (returns true if there is a valid
4987 - Switched CaretHasFocus to only display the caret if there is no
4989 - Avoiding StringBuilder.ToString to retrieve a single char, instead
4990 using the direct character index; should be much faster
4991 - Added various conditional debug statements
4992 - Fixed invalidation calculation for selection ranges
4993 - Added ExpandSelection() method to support word and line selection
4994 - Switched SetSelectionToCaret to use new Marker compare overloads
4995 - Added central IsWordSeparator() method to determine word
4996 separators/whitespace and FindWordSeparator() to streamline common
4997 usage of IsWordSeparator()
4999 - Removed unneeded grabbed variable, it was just mirroring
5001 - No longer firing OnTextChanged event when Text setter is called,
5002 since the base will fire the event for us
5003 - Added handling of Ctrl-Up/Down selection
5004 - Added handling of Shift-Cursorkey selection
5005 - Added handling for Ctrl-Delete and Ctrl-Backspace to remove
5007 - Added handling of Shift and Ctrl-Shift-Home/End selection
5008 - Removed some debug output
5009 - Added handling for single/double/tripple-click to place caret/
5010 select word/select line respectively (Fixes bug #76031)
5011 - Added support for drag expansion of word/line selection
5012 * RichTextBox.cs: Handle GotFocus event to trigger redrawing of
5015 2005-11-02 Jackson Harper <jackson@ximian.com>
5017 * X11Dnd.cs: If the drag is going to and from a MWF window just
5018 copy the data instead of sending it out through the X Selection
5021 2005-11-02 Jackson Harper <jackson@ximian.com>
5024 * XplatUIX11.cs: When in a drag we don't want motion notify
5025 messages to get passed on to the other controls. This prevents
5026 mouse move messages from showing up in the drag source.
5028 2005-11-02 Jackson Harper <jackson@ximian.com>
5030 * X11Dnd.cs: Remove unneeded call to XAllowEvents. Make sure that
5031 the correct button is release to end a drag.
5032 * XplatUIX11.cs: Make the button state internal so the drag system
5033 can access it. Dragging needs to know about all button releases,
5034 not just left button.
5036 2005-11-02 Miguel de Icaza <miguel@novell.com>
5038 * Form.cs (Icon): If the icon is null, reset the icon to the
5041 * Cursor.cs: When writing the AND-mask bitmap do not include the
5042 number of colors, but hardcode those to two (black and white),
5043 fixes the loading of color cursors (Paint Dot Net).
5045 * Form.cs: To debug, allow MONO_MWF_SCALING=disable variable to
5046 turn off autoscaling.
5048 * Cursor.cs: Allow resource type to be 1 or 2 (from ImageMagic).
5050 2005-11-02 Jackson Harper <jackson@ximian.com>
5052 * X11Dnd.cs: Make sure to send a status message if the pointer
5053 enters a control that can not accept a drop, otherwise the cursor
5054 isn't updated correctly. Also tried to compress the lines of code
5057 2005-11-02 Jackson Harper <jackson@ximian.com>
5059 * X11Dnd.cs: Change cursors based on drag action. Also attempt to
5060 set actions correctly. This isn't perfect as XDND and win32 have
5061 some differences on how you allow actions. I'll clear this up by
5062 adding a path for drag from MWF to MWF windows.
5063 * XplatUIX11.cs: Hook into the dnd system.
5065 2005-11-02 Jordi Mas i Hernandez <jmas@softcatala.org>
5067 * ListView.cs: Fixes scroll bar visibility. Hide them if they were
5068 previously shown but they are no longer need it. Very obvious when
5069 browsing files with FileDialog.
5071 2005-11-01 Peter Dennis Bartok <pbartok@novell.com>
5073 * Control.cs: We always need to call OnPaintBackground. We pretty much
5074 ignore AllPaintingInWmPaint and always do the painting there, whether
5075 it's set or not, since we always ignore the WM_ERASEBKGND message
5076 (which we don't generate on X11). This fixes #76616.
5077 * Panel.cs: Removed unneeded background painting. This happens properly
5078 in Control.cs already
5080 2005-10-31 Mike Kestner <mkestner@novell.com>
5082 * Menu.cs: Add items to collection before setting their index.
5083 * MenuItem.cs : add range checking with ArgumentException like MS.
5086 2005-10-31 Jackson Harper <jackson@ximian.com>
5088 * ListBox.cs: Invalidate if the area is visible at all not just
5089 contained in the visible rect. Fixes unselection of semi visible
5092 2005-10-31 Jackson Harper <jackson@ximian.com>
5094 * Control.cs: Consistently name the dnd methods. Make them
5095 internal so we can override them to match some MS behavoir
5097 * Win32DnD.cs: Use the new consistent names.
5099 2005-10-31 Jackson Harper <jackson@ximian.com>
5101 * TreeView.cs: Don't draw the selected node when we lose focus.
5103 2005-10-31 Jackson Harper <jackson@ximian.com>
5105 * X11Dnd.cs: We still need to reset the state even though a full
5106 reset isn't being done, otherwise status's still get sent all over
5109 2005-10-31 Jackson Harper <jackson@ximian.com>
5111 * Control.cs: Make the dnd_aware flag internal so the dnd
5112 subsystem can check it. Catch exceptions thrown in dnd handlers to
5114 * Hwnd.cs: Add a flag for whether or not a window is dnd aware.
5115 * X11Dnd.cs: Handle null data in the converters. Set the XDND
5116 version when sending a XdndEnter. Use the control/hwnd dnd_aware
5117 flags to reduce the number of dnd enters/status's sent.
5119 2005-10-31 Jackson Harper <jackson@ximian.com>
5121 * X11Dnd.cs: Don't need the sizeof here. Patch by Jordi Mas.
5123 2005-10-31 Jordi Mas i Hernandez <jordi@ximian.com>
5125 * PictureBox.cs: Fixes 76512
5127 2005-10-28 Jackson Harper <jackson@ximian.com>
5129 * X11Dnd.cs: Early implementation to support winforms being a drag
5130 source for data on X11. Also restructured the converters so they
5131 can go both ways now.
5132 * XplatUIX11.cs: Tie ins to the the Dnd stuff.
5134 2005-10-27 Peter Dennis Bartok <pbartok@novell.com>
5136 * XplatUIX11.cs: Fixed FIXME - implemented ASCII encoding for XA_STRING
5139 2005-10-27 Jackson Harper <jackson@ximian.com>
5141 * TreeNode.cs: Implement serialization so my DnD examples will work.
5143 2005-10-24 Kornél Pál <kornelpal@hotmail.com>
5145 * ButtonBase.cs, ListView.cs, NotifyIcon.cs, PictureBox.cs, ToolBar.cs,
5146 TreeView.cs: Don't dispose objects that are not owned.
5148 2005-10-24 Peter Dennis Bartok <pbartok@novell.com>
5150 * Cursor.cs: Defaulting the Current cursor to Cursors.Default. We
5151 should retrieve the current cursor and report that, but XplatUI
5152 doesn't (yet) have an interface for that (and I'm not sure I even
5154 * XplatUIWin32.cs: Fixed override behaviour. The override is temporary,
5155 until any message loop processing is done (and the WM_SETCURSOR
5156 replaces the cursor to the proper one)
5158 - Fixed override behaviour, we can't set the cursor globally on X11,
5159 just for our windows.
5160 - Invalidating the System.Drawing X11 display handle when we are
5162 * Control.cs: Fix to make csc happy
5164 2005-10-23 Peter Dennis Bartok <pbartok@novell.com>
5167 - get_Text: Add last line (without trailing newline) to returned
5169 - get_TextLength: Count last line in returned length
5170 - ToString: Call Text property instead of duplicating code
5172 2005-10-23 Kornél Pál <kornelpal@hotmail.com>
5174 * ImageList.cs: Dispose ImageAttributes objects.
5176 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
5178 * ImageList.cs: Use attribute constructors with less arguments where
5181 2005-10-22 Kornél Pál <kornelpal@hotmail.com>
5183 * ImageList.cs: Added lastKeyIndex field and use in IndexOfKey.
5184 Use typeof instead of strings when assembly is referenced. Added
5187 2005-10-21 Jackson Harper <jackson@ximian.com>
5189 * ListView.cs: Raise a double click event. Also tried to somewhat
5190 fix when the selectedindexchanged event is raised. Its still
5193 2005-10-21 Jackson Harper <jackson@ximian.com>
5195 * TreeView.cs: New method to invalidate the plus minus area of a
5196 node without invalidating the whole node (maybe this can be used
5197 in some more places).
5198 * TreeNodeCollection.cs: When adding to an empty node we need to
5199 invalidate its plus minus area so the little block shows up.
5201 2005-10-21 Jackson Harper <jackson@ximian.com>
5203 * TreeView.cs: Make sure that when we invalidate a node the bounds
5204 are big enough to cover the selected box and the focus
5205 rectangle. Use a different colour for the lines connecting nodes
5206 so they show up with all themes.
5208 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
5210 * NativeWindow.cs: Don't call anything that could call into the driver,
5211 we might be on a different thread.
5213 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
5215 * Control.cs(Dispose): Since Dispose might run on a different thread,
5216 make sure that we call methods that could call into the driver via
5217 invoke, to avoid thread issues
5219 2005-10-21 Peter Dennis Bartok <pbartok@novell.com>
5221 * XplatUI.cs: Removed finalizer
5222 * XplatUIX11.cs: Removed Destructor, was causing crashes due to X11
5223 not allowing to be called on the finalizer thread.
5225 2005-10-21 Kornél Pál <kornelpal@hotmail.com>
5228 - Reverted r51889 and r51891.
5229 - Added ImageListItem class that stores unmodified image items and image
5230 properties required to create list images until handle is created.
5231 - Added AddItem and moved image creation logic to AddItemInternal.
5232 - Added CreateHandle method that creates images based on unmodified items.
5233 - Added DestroyHandle that changes state to store unmodified items.
5234 - Add and AddStrip methods no more create handle.
5235 - ReduceColorDepth has no return value.
5236 - Dispose destroys handle.
5237 - Modified other methods to reflect the above changes.
5238 - Implemented key support.
5239 - Added profile 2.0 members and attributes.
5240 - Added private Reset and ShouldSerialize methods that provide the same
5241 behavior as MS.NET but the Visual Studio .NET designer seems to ignore
5242 them as they are private.
5243 - Added some more comments about implementation details.
5245 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
5247 * DataGrid.cs: Adds support for vertical scrolling using the mousewheel
5249 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
5251 * Binding.cs: No PushData/PullData if there is no binding (fixes crash)
5253 2005-10-21 Jordi Mas i Hernandez <jordi@ximian.com>
5255 * DataGridDrawingLogic.cs: Fixes column hit calcultation
5256 * DataGridColumnStyle.cs: Remove debug message
5258 2005-10-20 Jackson Harper <jackson@ximian.com>
5260 * TreeView.cs: We can always get input keys regardless of whether
5261 or not editing is enabled. They are used for navigation.
5263 2005-10-20 Jackson Harper <jackson@ximian.com>
5265 * TreeNode.cs: Use the viewport rect for determining if a node
5266 needs to be moved for visibility. Don't use Begin/End edit. This
5267 calls a full refresh when its done.
5268 * TreeView.cs: New SetBottom works correctly. Make the viewport
5269 rect property internal so the treenodes can see it. When clicking
5270 on a node we need to ensure that its visible because it might just
5271 be partly visible when clicked.
5273 2005-10-20 Jackson Harper <jackson@ximian.com>
5275 * TreeNodeCollection.cs: Remove debug code.
5277 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
5279 * Datagrid.cs: Implements column sorting in Datagrid
5280 * DataGridColumnStyle.cs: Implements column sorting in Datagrid
5282 2005-10-20 Jackson Harper <jackson@ximian.com>
5284 * TreeNodeCollection.cs: Remove items properly. Update the correct
5285 area after removing them.
5287 2005-10-20 Jordi Mas i Hernandez <jordi@ximian.com>
5289 * Datagrid.cs: Should not call base.OnPaintBackground
5291 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
5293 * XplatUIX11.cs (GetMessage):
5294 - Now properly calculates NC_xBUTTONDOWN coordinates off the whole
5295 window instead of client window
5296 - Now properly calculates NC_xBUTTONUP message coordinates
5297 - ScreenToMenu now properly calculates it's coordinates of whole
5298 window, since menus are in the whole window, not in the client
5300 - Added WholeToScreen coordinate translation method
5302 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
5304 * XplatUIX11.cs (GetMessage): Don't return in situations where we don't
5305 want to return a message, loop back to the beginning of the function
5306 and grab the next real message to process instead.
5308 2005-10-20 Peter Dennis Bartok <pbartok@novell.com>
5310 * Splitter.cs: Properly set limits if no filler control is used
5312 2005-10-19 Jackson Harper <jackson@ximian.com>
5314 * ColorDialog.cs: Don't show the help button if it is not enabled
5315 instead of disabling it (this is what MS does). Don't create the
5316 panel until the dialog is run, otherwise the vars (such as
5317 ShowHelp) are not set yet.
5319 2005-10-19 Jackson Harper <jackson@ximian.com>
5321 * TreeView.cs: Implement Begin/EndEdit more correctly so refreshes
5322 are reduced when adding nodes.
5324 * TreeNodeCollection.cs: Use UpdateNode instead of refreshing the
5327 2005-10-19 Jackson Harper <jackson@ximian.com>
5329 * FolderBrowserDialog.cs: End editing our treeview so the window
5330 actually gets refreshed.
5332 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
5334 * Control.cs: Fixed logic flip on when to call OnPaintBackground.
5335 Obsoleted handling of WM_ERASEBKGND, now always draws our background
5338 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
5340 * MenuAPI.cs: Returns after Hidding window
5341 * XplatUIX11.cs: Added TODO found while debugging menu issues
5343 2005-10-18 Peter Dennis Bartok <pbartok@novell.com>
5345 * XplatUIX11.cs: Do not re-map the whole window when it's size
5346 becomes non-zero unless it's supposed to be actually visible
5348 2005-10-18 Jackson Harper <jackson@ximian.com>
5350 * TreeView.cs: We don't need to keep a count anymore.
5351 * TreeNodeCollection.cs: Fix off by one in RemoveAt, Insert can
5352 use the Grow method.
5354 2005-10-18 Jackson Harper <jackson@ximian.com>
5356 * TreeNodeCollection.cs: Insert is not supported on arrays, so
5357 implement it manually here.
5359 2005-10-18 Jackson Harper <jackson@ximian.com>
5361 * ImageList.cs: Dont kill the list when the colour depth is
5362 changed, just change the colour depth of all the images.
5363 - Same goes for setting the image size. Just resize them all
5364 instead of killing the list softly.
5366 2005-10-18 Jackson Harper <jackson@ximian.com>
5368 * Control.cs: Don't invalidate empty rectangles.
5370 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
5373 - Adds checked item to the Checked/Item lists (where empty before)
5374 - Do not add items to the Selected lists if they are already present
5376 - Fixes IsFixedSize, SyncRoot, IsReadOnly in many collections
5377 - When deleting items make sure that we delete them for the Selected
5378 and Checked list also.
5380 2005-10-18 Jordi Mas i Hernandez <jordi@ximian.com>
5382 * Label.cs: Dispose objects no longer used
5383 * ThemeWin32Classic.cs: Dispose objects no longer used
5385 2005-10-18 Jackson Harper <jackson@ximian.com>
5387 * TabControl.cs: Don't refresh the whole control when the tabs are
5388 scrolled, we just need to refresh the tab area.
5390 2005-10-17 Jackson Harper <jackson@ximian.com>
5392 * XplatUIX11.cs: Compress code a little bit. Only calculate the
5393 after handle when we need it.
5395 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
5397 * Control.cs: When the parent size changes, recalculate anchor
5398 positions. Partial fix for #76462
5400 2005-10-17 Peter Dennis Bartok <pbartok@novell.com>
5402 * ThemeWin32Classic.cs: Make sure the picturebox has it's background
5405 2005-10-17 Jackson Harper <jackson@ximian.com>
5407 * MonthCalendar.cs: Don't create the numeric up down until our
5408 handle is created. Otherwise our handle is created in the
5409 constructor and we don't know if we are a WS_CHILD or WS_POPUP
5412 2005-10-17 Jackson Harper <jackson@ximian.com>
5414 * TreeView.cs: Merge in patch by Rafael Teixeira to align strings
5417 2005-10-17 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
5418 * TreeNode.cs : small logical fix (was using local var instead of field)
5420 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
5422 * ThemeWin32Classic.cs: Fixes vert/horz scrollbar colours
5424 2005-10-17 Jordi Mas i Hernandez <jordi@ximian.com>
5426 * ThemeWin32Classic.cs: Fixes focus drawing in for non-flat/popup buttons
5428 2005-10-16 Peter Dennis Bartok <pbartok@novell.com>
5431 - Re-implemented anchoring code. My first version was really broken.
5432 This fixes bug #76033. Unlike the previous implementation we will
5433 no longer have round errors since all numbers are calculated from
5434 scratch every time. Removed various anchor-related obsolete vars.
5435 - InitLayout no longer causes layout event firing and layout to be
5438 2005-10-16 Jackson Harper <jackson@ximian.com>
5440 * Hwnd.cs: Compute invalid area correctly (fixes my last commit
5443 2005-10-16 Jackson Harper <jackson@ximian.com>
5445 * TabControl.cs: Remove debug code.
5447 2005-10-16 Jackson Harper <jackson@ximian.com>
5449 * XEventQueue.cs: Increase the default queue size (very simple
5450 apps needed to grow the queue).
5451 * Hwnd.cs: No finalizer so we don't need to suppress
5452 finalization. Compute the invalid area manually so a new rectangle
5453 does not newto be created.
5454 * ScrollableControl.cs: Don't set any params (otherwise visibility
5455 isn't set correctly).
5456 * MdiChildContext.cs: New constructor takes the mdi parent so it
5457 doesn't have to be computed and avoids a crash on windows. Draw
5458 the window icon properly, and allow the text to be seen.
5459 * Form.cs: Use new MdiChildContext constructor. Make sure the
5460 child context isn't null in wndproc.
5461 * TabControl.cs: Don't set focus, this is muddling keyboard
5462 behavoir. Expand the tab rows when a window size increase will
5463 allow extra tabs to be seen. Don't allow tabs smaller than the
5464 width of a window to be scrolled out of view.
5466 * TreeView.cs: Use measure string to calculate a nodes width, the
5467 width is cached and only updated when the text or the font is
5468 changed. Don't check for expand/collapse clicks on the first level
5469 nodes if root lines are disabled.
5471 2005-10-16 Ritvik Mayank <mritvik@novell.com>
5473 * TextBoxBase.cs: Fixes #76352 (passing tab key in a multiline textbox)
5475 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
5477 * DataGridBoolColumn.cs: fixes warning
5479 2005-10-16 Jordi Mas i Hernandez <jordi@ximian.com>
5481 * ControlPaint.cs: Fixes methods Dark, DarkDark, Light, LightLight
5482 to match more to match more precisely the MS Net behavior
5484 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
5486 * Hwnd.cs: Added field to track if window is mapped
5488 - Unmap windows if they become 0-size, re-map when
5489 they are >0 again; fixes #76035
5490 - Re-set our error handler after initializing X11Desktop
5491 to override any error handlers Gtk or whatever was called
5494 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
5496 * CheckedListBox.cs: Removed unused vars
5497 * ListView.cs: Fixed signatures
5498 * RichTextBox.cs: Removed unused vars
5499 * TextBoxBase.cs: Removed unused vars
5500 * XplatUIWin32.cs: Removed unused vars
5501 * XplatUIX11.cs: Removed unused vars
5502 * XplatUI.cs: Updated version and date to latest published
5504 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
5506 * Cursor.cs: Added private .ctor to work around a bug in
5507 resourceset (Thanks to Geoff Norton for the help on this)
5508 * SplitterEventArgs.cs: Made fields accessible so we don't
5509 waste boatloads of objects and can reuse the same one
5511 * XplatUIWin32.cs(DrawReversibleLine): Now also considers
5512 any captions and borders when generating screen coordinates
5513 * Splitter.cs: Reimplemented control, now fully complete, uses
5514 rubberband drawing, supports and obeys all properties, has
5517 2005-10-13 Miguel de Icaza <miguel@novell.com>
5519 * Form.cs (Form): Setup default values for autoscale and
5520 autoscale_base_size; Make these instance variables, not static
5523 (OnLoad): on the first load, adjust the size of the form.
5525 2005-10-13 Peter Dennis Bartok <pbartok@novell.com>
5527 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs: Added
5528 width argument to DrawReversibleRectangle()
5529 * XplatUIWin32.cs, XplatUIX11.cs:
5530 - Implemented width for DrawReversibleRectangle()
5531 - Added logic to DrawReversibleRectangle that recognizes a zero
5532 width or height and only draws a line in that situation
5534 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
5536 * XplatUI.cs, XplatUIDriver.cs: Added GetAutoScaleSize()
5537 * XplatUIOSX.cs: Stubbed GetAutoScaleSize() method
5538 * XplatUIWin32.cs, XplatUIX11.cs: Implemented GetAutoScaleSize()
5539 method (it uses our FosterParent window to get a graphics context)
5541 2005-10-12 Peter Dennis Bartok <pbartok@novell.com>
5543 * XplatUI.cs, XplatUIDriver.cs: Removed EraseWindowBackground
5544 and SetWindowBackground methods
5546 - Setting proper ControlStyles
5547 - We no longer call XplatUI.SetWindowBackground and XplatUI.
5548 EraseWindowBackground, instead we draw the window background
5549 ourselves in PaintControlBackground. This behaviour is
5550 required to match MS, where, when OnPaintBackground is not
5551 called, the background is not drawn.
5552 - Removed unneeded Refresh() in set_Text
5553 * Hwnd.cs: Dropped the ErasePending support. No longer needed
5555 - Created DeriveStyles method to translate from CreateParams to
5556 FormBorderStyle and TitleStyle, also handles BorderStyle (which
5557 matches FormBorderStyle enum values)
5558 - Consolidated SetHwndStyles and CalculateWindowRect border/title
5559 style calculations into single DeriveStyles method
5560 - Fixed CreateWindow to (finally) use Gravity. This prevents X11
5561 from redrawing the whole window on any resize or expose.
5562 - Fixed CreateWindow usage of SetWindowValuemask. Before not
5563 all styles were applied to our whole/client window appropriately
5564 - Removed EraseWindowBackground() and SetWindowBackground() methods
5565 - Removed handling of WM_ERASEBKGND message from DefWndProc, we
5566 no longer clear/redraw the background through X
5567 - Removed handling of erase_pending bit, we have no use for it (or
5570 - Removed generation and handling of WM_ERASEBKGND message
5571 - Removed EraseWindowBackground() and SetWindowBackground() methods
5572 - Removed handling of hwnd.ErasePending flag
5574 - Removed EraseWindowBackground() and SetWindowBackground() methods
5575 - We no longer call EraseWindowBackground on PaintEventStart, we
5576 ignore the fErase flag, erasing is handled in Control in the
5578 * Button.cs, GroupBox.cs, Label.cs, CheckBox.cs, ProgressBar.cs,
5579 LinkLabel.cs, ListControl.cs, TabPage.cs, UpDownBase.cs,
5580 TextBoxBase.cs, TextBox.cs, ListView.cs, ButtonBase.cs,
5581 CheckedListBox.cs, MdiClient.cs, Panel.cs, DataGrid.cs,
5582 DataGridTextBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs,
5583 TabControl.cs, ScrollableControl.cs, ToolBar.cs, PictureBox.cs,
5584 DateTimePicker.cs, StatusBar.cs, MonthCalendar.cs: Setting proper ControlStyles
5586 2005-10-12 Jonathan Chambers <jonathan.chambers@ansys.com>
5588 * PropertyGrids.cs: Get sub properties
5589 * PropertyGridView.cs: Fix drawing code
5591 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
5593 * ListBox.cs: Fixes 76383
5595 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
5597 * DataGridTextBoxColumn.cs: Sets location and size before attachment
5598 * ThemeWin32Classic.cs: Fixes border drawing and calculations
5599 * DataGridDrawingLogic.cs: Fixes border drawing and calculations
5602 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
5604 * ComboBox.cs: Fixes border drawing
5606 2005-10-10 Miguel de Icaza <miguel@novell.com>
5608 * MimeIcon.cs: Ignore errors if the file can not be read.
5610 2005-10-11 Jordi Mas i Hernandez <jordi@ximian.com>
5612 * Theme.cs, ThemeWin32Classic.cs, ListBox.cs:
5613 - Fixed border calculations
5614 - Fixed horizontal scrolling in single column listboxes
5615 - Fixed drawing issues
5617 2005-10-10 Peter Dennis Bartok <pbartok@novell.com>
5619 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched from BorderStyle to
5620 FormBorderStyle enum
5621 * XplatUIX11.cs: Switched BorderStyle to FormBorderStyle, added
5622 code to determine FormBorderStyles from CreateParams
5624 - Fixed bug where we'd set the wrong window styles if we were
5625 not creating an MDI window
5626 - Added call to XplatUI.SetBorderStyle when form borders are set
5627 * Control.cs: Casting BorderStyles to accommodate changed XplatUI APIs
5629 - Removed obsolete edge style
5630 - Switched from BorderStyle to FormBorderStyle
5632 2005-10-10 Jackson Harper <jackson@ximian.com>
5634 * Form.cs: Use the property to get the window handle instead of
5635 accessing it directly. Prevents a null reference exception.
5637 2005-10-10 Jackson Harper <jackson@ximian.com>
5639 * TreeView.cs: Don't adjust the rect given to DrawString now that
5640 our libgdiplus draws correctly.
5642 2005-10-08 Jackson Harper <jackson@ximian.com>
5644 * TreeView.cs: Don't try to find the clicked on node if there are
5645 no nodes in the tree.
5647 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
5653 2005-10-08 Alexander Olk <alex.olk@googlemail.com>
5655 * ImageListStreamer.cs, TreeView.cs, UpDownBase.cs, RichTextBox.cs,
5656 ColorDialog.cs, TextControl.cs, Panel.cs, MdiChildContext.cs,
5658 Use ResPool for brushes and dispose System.Drawing objects that
5659 are not used anymore.
5661 2005-10-07 Jackson Harper <jackson@ximian.com>
5663 * MdiChildContext.cs: Use the new borders instead of drawing them
5666 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
5668 * Calling UpdateBounds after changing the window's BorderStyle
5669 since the style can change the ClientSize
5671 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5673 * Control.cs: Made PaintControlBackground virtual
5674 * Panel.cs: Overriding PaintControlBackground instead of using paint
5675 event; paint event method was interfering with 'real' users of the
5678 2005-10-06 Jordi Mas i Hernandez <jordi@ximian.com>
5680 * ThemeWin32Classic.cs: remove border drawing since it is handled
5681 by the base control class now and was causing double border drawing.
5683 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5685 * Panel.cs: Redraw our background on paint. Not a pretty solution,
5686 but it does seem to match MS behaviour. This fixes bug #75324
5688 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5690 * XplatUIX11.cs: A better DrawReversibleRectangle version, however
5691 somewhat hackish looking
5693 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5696 - We now accept Enter even if AcceptEnter is false, if the containing
5697 form does not have an AcceptButton configured (fixes bug #76355)
5698 - Calculations are now fixed to no longer use Width/Height, but
5699 ClientSize.Width/Height, since we now support borders (this was
5700 a result of fixing borders and therefore bug #76166)
5701 - We no longer show the horizontal scrollbar if TextBox.WordWrap is
5702 true (fixes bug #76354)
5704 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5707 - Defaulting BorderStyle and setting it in XplatUI when our window
5709 - Added enum check to InternalBorderStyle setter
5711 - Added drawing of window borders
5712 - Now properly calculates WM decorations offset for toplevel
5713 windows (fixes bug #74763)
5715 - Implemented BorderStyles for windows (we're letting win32 draw
5717 - Fixed the signature for SetWindowLong
5718 * PictureBox.cs, DataGrid.cs, TextBoxBase.cs, ToolBar.cs, Panel.cs,
5719 ListBox.cs, Label.cs: Now uses Control.InternalBorderStyle for
5721 * UpDownBase.cs: Remove drawing of borders, this is handled by
5722 the driver, outside the client area
5723 * ListView.cs: Removed bogus border calculations. The control should
5724 be oblivious to borders, since those are not part of the client
5726 * X11DesktopColors.cs: Commented out (currently) unneeded variables
5727 * ThemeWin32Classic.cs: Removed border calculations from ListView
5730 2005-10-06 Jackson Harper <jackson@ximian.com>
5732 * MdiChildContext.cs: Clear out the old virtual position remove
5733 all the unneeded calls to CreateGraphics.
5735 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5737 * TextControl.cs: Use proper color for highlighted text; fixes #76350
5739 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5742 - Added loading and setting of our new default icon
5743 - Only set icon if window is already created
5745 2005-10-06 Peter Dennis Bartok <pbartok@novell.com>
5748 - Do not explicitly set the foreground and background colors, to
5749 allow inheriting from parents (fixes #76302)
5750 - Use Control's InternalBorderStyle property to deal with borders
5752 2005-10-06 Jackson Harper <jackson@ximian.com>
5754 * MdiChildContext.cs: Use the new xplatui function to draw a
5757 2005-10-06 Jackson Harper <jackson@ximian.com>
5759 * Form.cs: Add the parent before creating the child context cause
5760 we need the parent when setting up the child.
5762 2005-10-06 Jackson Harper <jackson@ximian.com>
5764 * FolderBrowserDialog.cs: redo the tree population code so a
5765 second thread isn't used. Should be a lot faster and more stable
5768 2005-10-05 Jackson Harper <jackson@ximian.com>
5770 * TreeView.cs: There are no expand/collapse boxes if the node has
5773 2005-10-05 Jackson Harper <jackson@ximian.com>
5775 * X11DesktopColors.cs: Get menu colours for the gtk theme.
5777 2005-10-05 Alexander Olk <alex.olk@googlemail.com>
5779 * FileDialog.cs: Fix InitialDirectory
5781 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
5784 - Fixes changing between styles
5786 - Fixes last item crashing when navigating with keyboard
5788 2005-10-05 Jordi Mas i Hernandez <jordi@ximian.com>
5790 * LinkLabel.cs: Related to 76045. Stops the LinkLabel been drawn as a Label
5792 2005-10-05 Jackson Harper <jackson@ximian.com>
5794 * TreeView.cs: If updating the root node do a full refresh.
5795 * TreeNode.cs: The root node should be expanded by default. Also
5796 added a utility prop to tell if we are the root node.
5797 * TreeNodeCollection.cs: Only refresh if the node we are being
5798 added to is expanded. Also added a comment on a potential
5801 2005-10-04 Peter Dennis Bartok <pbartok@novell.com>
5803 * Cursor.cs, Hwnd.cs: Added call to GC.SuppressFinalize()
5804 in dispose method. Fixes #76330
5806 2005-10-04 Jordi Mas i Hernandez <jordi@ximian.com>
5808 * ListView.cs, ThemeWin32Classic.cs, ListViewItem.cs:
5810 - Implements vertical and horizontal scrolling using XplatUI
5811 - Fixes keyboard navagation
5812 - Fixes EnsureVisible
5814 - Handles and draws focus properly
5817 2005-10-04 Kornél Pál <kornelpal@hotmail.com>
5819 * ImageList.cs: Use upper case initials for internal fields. ImageStream:
5820 Create handle. NET_2_0: Destroy handle when value is null.
5822 2005-10-03 Jackson Harper <jackson@ximian.com>
5824 * ScrollBar.cs: My last scrollbar patch was broken. This is a
5825 revert and a new patch to prevent the thumb from refreshing so
5828 2005-10-02 Jackson Harper <jackson@ximian.com>
5830 * ScrollBar.cs: Don't update position if it hasn't actually
5831 changed. This occurs when you hold down the increment/decrement
5832 buttons and the thumb gets to the max/min.
5834 2005-10-01 Jackson Harper <jackson@ximian.com>
5837 * MdiChildContext.cs:
5838 * MdiClient.cs: Implement ActiveMdiChild in Form.
5840 2005-10-01 Jordi Mas i Hernandez <jordi@ximian.com>
5842 * ComboBox.cs: Include ComboBoxEdit flag for the edit item
5844 2005-10-01 Peter Dennis Bartok <pbartok@novell.com>
5846 * X11DesktopColors.cs: Bow out gracefully if the Gtk libs cannot
5849 2005-09-30 Jackson Harper <jackson@ximian.com>
5851 * ListBox.cs: Don't do a full refresh unless some data has
5854 2005-09-30 Jackson Harper <jackson@ximian.com>
5856 * TreeView.cs: Make sure that the checkboxes size is factored in
5857 even when not visible.
5859 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
5861 * FileDialog.cs: Fix Jordi's build break
5863 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
5866 - Use standard the Windows colours for the combobox as espected
5867 - Dispose objects that use resouces when no longer need them
5869 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
5871 * X11DesktopColors.cs: Initial incomplete implementation
5872 * XplatUIX11.cs: Added call to initialize X11DesktopColors
5874 2005-09-30 Peter Dennis Bartok <pbartok@novell.com>
5877 - Switched Theme color names to match the names defined in
5878 System.Drawing.KnownColors. Life's hard enough, no need to make
5880 - Added setters to all theme color properties so themes can set
5881 their color schemes. The setters also propagate the color changes
5882 to System.Drawing.KnownColors via reflection
5883 * ControlPaint.cs, Label.cs, TextControl.cs, ToolTip.cs, ThemeNice.cs,
5884 ComboBox.cs, MdiChildContext.cs, TextBoxBase.cs, DateTimePicker.cs
5885 DataGridColumnStyle.cs, MonthCalendar.cs, TreeView.cs: Updated to
5886 use the new, more logical theme color names
5887 * XplatUIWin32.cs: Updated the GetSysColorIndex enum to include new
5889 * ThemeWin32Classic.cs:
5890 - Removed code to set the old classic Windows colors. Instead it
5891 now relies on the colors returned by System.Drawing.KnownColors
5892 which will be either modern static colors (Unix) or colors
5893 read from the user's configuration (Win32)
5894 - Updated to use the new, more logical theme color names
5895 - Switched DataGrid drawing code to use only Theme colors instead of
5896 a mix of System.Drawing.KnownColors and Theme colors
5897 - DrawFrameControl(): Removed code that fills the button area, the
5898 fill would overwrite any previous fill done by a control. This
5900 - Added DrawReversibleRectangle() stub
5901 * ScrollableControl.cs: Set visible state to false when scrollbars
5902 are removed (pdn fix)
5903 * XplatUI.cs, XplatUIOSX.cs, XplatUIDriver.cs: Added
5904 DrawReversibleRectangle() method to allow drawing primitive
5906 * XplatUIX11.cs: Implemented DrawReversibleRectangle()
5908 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
5910 * ImageList.cs: Add(Icon): Create handle.
5912 2005-09-30 Jordi Mas i Hernandez <jordi@ximian.com>
5915 * ThemeWin32Classic.cs:
5918 - Issues with drawing
5920 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
5922 * ImageList.cs: Moved RecreateHandle back to ImageList as event
5923 source has to be the ImageList.
5925 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
5927 * ImageList.cs: Add(Icon): Use Graphics.DrawIcon instead of Icon.ToBitmap.
5929 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
5931 * ImageList.cs: ReduceColorDepth: Clean up pointer operations.
5933 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
5935 * ImageList.cs: ImageCollection: Removed owner field as it is no more used.
5937 2005-09-29 Jonathan Chambers <jonathan.chambers@ansys.com>
5938 * GridItem.cs: Fixed TODOs
5939 * GridItemCollection.cs: Added ICollection interface
5941 2005-09-30 Kornél Pál <kornelpal@hotmail.com>
5943 * ImageList.cs: Resize icons when needed.
5945 2005-09-29 Jordi Mas i Hernandez <jordi@ximian.com>
5948 - Fixes GetBounds and returns on screen rects
5950 - Fixes vertical and horzintal scrolling of items
5951 * ThemeWin32Classic.cs:
5954 2005-09-29 Raja R Harinath <harinath@gmail.com>
5956 * ImageList.cs (ImageStream) [NET_2_0]: Reflect re-factoring.
5958 2005-09-29 Kornél Pál <kornelpal@hotmail.com>
5960 * ImageList.cs: Added comments about handle creation. Moved Handle,
5961 HandleCreated and OnRecreateHandle implementations to ImageCollection.
5962 Handle is created in Add methods.
5964 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
5966 * DataGridDrawingLogic.cs:
5967 - Takes rows into account on Colum calculations
5968 - Returns the column when clickig
5970 - Fixes default HitTestInfo values
5971 - Fixes HitTestInfo.ToString
5972 - Fixes ResetBackColor
5974 2005-09-28 Jackson Harper <jackson@ximian.com>
5976 * MdiChildContext.cs: Obey rules for fixed sized windows (no
5977 sizing or cursor changes). Also added some temp code to draw the
5978 titlebars text (Makes dev a little easier).
5980 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
5982 * ImageList.cs: AddStrip: Throw ArgumentException when Image is not a Bitmap.
5984 2005-09-28 Jordi Mas i Hernandez <jordi@ximian.com>
5986 * ListBox.cs: Fixes bug 76253
5988 2005-09-28 Kornél Pál <kornelpal@hotmail.com>
5990 * ImageList.cs: Added comments about the current implementation. Added
5991 ReduceColorDepth, IndexedColorDepths and GetNearestColor to can use
5992 Format32bppArgb to preserve transparency and can use Graphics.FromImage
5993 while using the specified ColorDepth. ReduceColorDepth uses unsafe code
5994 with Bitmap.LockBits for better performance. Revised the whole file to
5995 match MS.NET behaviour and provide better performance. Non-public
5996 interface members are calling public members even when they throw
5997 NotSupportedException for better maintainability. Moved ColorDepth,
5998 ImageSize, ImageStream and TransparentColor implementations to
5999 ImageCollection for better performance as these properties are not used
6001 * ImageListStreamer.cs: Added a new internal constructor that takes an
6002 ImageList.ImageCollection and serializes Images based on
6003 ImageCollection.ToArray(). Renamed ImageColorDepth to ColorDepth to
6004 match ImageList property name.
6006 2005-09-28 Kazuki Oikawa <kazuki@panicode.com>
6008 * ListBox.cs: Fixes IndexFromPoint for last item
6010 2005-09-27 Jackson Harper <jackson@ximian.com>
6012 * Form.cs: Set the position of new mdi children correctly.
6014 2005-09-27 Jackson Harper <jackson@ximian.com>
6016 * MdiClient.cs: New mdi children need to be added to the back of
6017 the controls collection so the zorder is set correctly. Also add a
6018 count of all the child windows that have been created.
6020 2005-09-27 Jackson Harper <jackson@ximian.com>
6022 * Form.cs (CreateParams): Setup MDI forms correctly.
6024 2005-09-27 Jackson Harper <jackson@ximian.com>
6026 * MdiChildContext.cs:
6033 * ScrollableControl.cs:
6034 * ComboBox.cs: Add implicit controls using the new implict control
6035 functionality in ControlCollection. Also try to block multiple
6036 control add in a suspend/resume layout to save some cycles.
6038 2005-09-27 Jackson Harper <jackson@ximian.com>
6040 * Control.cs: Add functionality to the controls collection to add
6041 'implicit controls' these are controls that are created by the
6042 containing control but should not be exposed to the user. Such as
6043 scrollbars in the treeview.
6044 * Form.cs: The list var of the ControlsCollection is no longer
6045 available because of the potential of implicit controls getting
6046 ignored by someone accessing the list directly.
6048 2005-09-26 Peter Dennis Bartok <pbartok@novell.com>
6050 * Control.cs: Fixed SetChildIndex; it no longer causes a child to
6051 loose it's parent. (Fixed bug introduced in r49103 when we added
6052 setting the child parent to null on Remove)
6054 2005-09-26 Gert Driesen <drieseng@users.sourceforge.net>
6056 * DataGridBoolColumn.cs: Marked CheckState private to fix public API.
6057 * Splitter.cs: Added missing attributes for BorderStyle property.
6058 * TextBoxBase.cs: Marked Calculate* methods internal.
6059 * TextBox.cs: Fixed DefaultValue for PasswordChar property to match
6062 2005-09-26 Jordi Mas i Hernandez <jordi@ximian.com>
6064 * ListBox.cs: Fixes navigation to the last item in multicolumn lists
6066 2005-09-25 Jackson Harper <jackson@ximian.com>
6068 * TreeView.cs: Update the node bounds correctly regardless of
6069 whether the node is visible.
6071 2005-09-25 Jackson Harper <jackson@ximian.com>
6073 * ImageList.cs: Don't dispose the image after it is added to the
6074 image list. Only reformat images that need to be resized.
6076 2005-09-25 Jackson Harper <jackson@ximian.com>
6078 * ImageList.cs: Don't set the format when changing the image.
6080 2005-09-25 Jackson Harper <jackson@ximian.com>
6082 * TreeView.cs: We can't just assume the node has a font. Use the
6083 treeviews font if no node font is available.
6085 2005-09-25 Jackson Harper <jackson@ximian.com>
6087 * TreeView.cs: Allow the scrollbars to be reset with negative
6089 - Don't add scrollbars to negative sized windows.
6091 2005-09-23 Jackson Harper <jackson@ximian.com>
6093 * XplatUIX11.cs: Update to use Mono.Posix.Native instead of plain
6094 old Mono.Posix. Also remove some stray code that shouldn't have
6097 2005-09-23 Jackson Harper <jackson@ximian.com>
6099 * TreeView.cs: Attempt at proper sizing of the horizontal
6100 scrollbar. Also don't resize the scrollbars unless they are
6103 2005-09-23 Jackson Harper <jackson@ximian.com>
6105 * TreeView.cs: We don't need to expand the invalid area when the
6106 selection changes, as this is all drawn in the node's bounding
6107 box. The area needs to be expanded (previous typo was contracting
6108 it) when the focus rect moves.
6110 2005-09-23 Jackson Harper <jackson@ximian.com>
6112 * TreeView.cs: Display the selection box under the correct
6113 circumstances. We were rendering white text with no selection box
6116 2005-09-23 Peter Dennis Bartok <pbartok@novell.com>
6118 * TextControl.cs(Split): Now updates selection start/end if it points
6119 into a line that's being split. Fixes a FIXME and bug #75258
6121 2005-09-23 Jackson Harper <jackson@ximian.com>
6124 * ListControl.cs: Don't use the path when retrieving binding
6125 managers from the binding context. My bat sense tells me that the
6126 path is only used on insertion.
6128 2005-09-22 Jackson Harper <jackson@ximian.com>
6130 * Splitter.cs: Set the cursor an easier way. (Thanks peter).
6132 2005-09-22 Jackson Harper <jackson@ximian.com>
6134 * Splitter.cs: There are special cursors used for splitting.
6135 * XplatUIX11.cs: The VSplit and HSplit cursors were backwards.
6137 2005-09-22 Jackson Harper <jackson@ximian.com>
6139 * Splitter.cs: Change the cursor appropriately when the splitter
6140 is moused over, so the user actually knows there is a splitter
6143 2005-09-22 Hisham Mardam Bey <hisham.mardambey@gmail.com>
6145 * Label.cs : Fix ToString method to give same output as MS.NET
6147 2005-09-22 Jackson Harper <jackson@ximian.com>
6149 * TreeView.cs: Create the scrollbars when the handle is created
6150 and add them right away, just make them invisble. Also account for
6151 the window being shrunk vertically to the point that the vert
6152 scrollbar needs to be added.
6153 - Remove some 0.5 adjustments to get around anti aliasing issues.
6155 2005-09-22 Jordi Mas i Hernandez <jordi@ximian.com>
6157 * MainMenu.cs: Fixes default value
6158 * MenuItem.cs: Fixes default value
6160 2005-09-22 Kazuki Oikawa <kazuki@panicode.com>
6162 * AsyncMethodResult.cs: Fixes Control.Invoke is blocked infinitely.
6164 2005-09-21 Jackson Harper <jackson@ximian.com>
6166 * Control.cs: Don't try to set the border style on the window if
6167 it hasn't been created. When the window is created the border
6170 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6172 * Control.cs (Update): Don't call XplatUI if we don't have a
6175 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6177 * ContainerControl.cs: Instead of throwing an exception, print
6178 a one-time warning about Validate not being implemented
6179 * XplatUIWin32.cs: Removed debug output
6181 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6183 * Control.cs: Only set XplatUI background if we expect the windowing
6184 system to handle the background. This stops controls that draw their
6185 own background from flickering
6187 * XplatUIX11.cs: Support custom visuals and colormaps for window
6188 creation. This allows, amongst other things, using MWF X11 windows
6191 2005-09-21 Peter Dennis Bartok <pbartok@novell.com>
6193 * OpenFileDialog.cs, ContentsResizedEventArgs.cs, LibSupport.cs, GridItem.cs,
6194 CursorConverter.cs, SplitterEventHandler.cs, PropertyGridTextBox.cs,
6195 GridTablesFactory.cs, MethodInvoker.cs, AccessibleEvents.cs,
6196 SplitterEventArgs.cs, XplatUI.cs, Mime.cs, PropertySort.cs,
6197 TreeViewCancelEventHandler.cs, Form.cs, PropertyGridCommands.cs,
6198 IDataGridEditingService.cs, DateBoldEventHandler.cs, Label.cs,
6199 KeyboardLayouts.cs, TextControl.cs, ProgressBar.cs, ToolTip.cs,
6200 RadioButton.cs, OSFeature.cs, LinkLabel.cs, ColorDialog.cs,
6201 ThemeNice.cs, ErrorIconAlignment.cs, TreeNode.cs, MimeGenerated.cs,
6202 ComboBox.cs, DataGridTextBoxColumn.cs, ArrangeStartingPosition.cs,
6203 GridColumnStylesCollection.cs,
6204 IDataGridColumnStyleEditingNotificationService.cs,
6205 PropertyGrid.cs, IFeatureSupport.cs, ICommandExecutor.cs,
6206 MdiLayout.cs, GridEntry.cs, ControlBindingsCollection.cs,
6207 GridTableStylesCollection.cs, TreeViewCancelEventArgs.cs,
6208 TreeNodeCollection.cs, AmbientProperties.cs,
6209 RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
6210 DataObject.cs, ErrorProvider.cs, Splitter.cs,
6211 DataGridLineStyle.cs, Shortcut.cs, Control.cs,
6212 FontDialog.cs, SecurityIDType.cs, GridItemType.cs,
6213 BindingMemberInfo.cs, DataGridCell.cs, MdiChildContext.cs,
6214 IRootGridEntry.cs, PropertyGridView.cs, DataGridParentRowsLabelStyle.cs,
6215 FolderBrowserDialog.cs, OpacityConverter.cs, HelpProvider.cs,
6216 IComponentEditorPageSite.cs, DataGridTableStyle.cs, NavigateEventArgs.cs,
6217 NotifyIcon.cs, ContentsResizedEventHandler.cs, MenuItem.cs,
6218 PropertyTabChangedEventHandler.cs, TextBoxBase.cs, OpenTreeNodeEnumerator.cs,
6219 SelectionMode.cs, TextBox.cs, ListBindingConverter.cs,
6220 FileDialog.cs, KeysConverter.cs, DomainUpDown.cs,
6221 DataFormats.cs, SaveFileDialog.cs, GridItemCollection.cs,
6222 ArrangeDirection.cs, FeatureSupport.cs, SelectionRangeConverter.cs,
6223 RichTextBoxScrollBars.cs, NodeLabelEditEventHandler.cs, TreeNodeConverter.cs,
6224 MimeIcon.cs, X11Structs.cs, PropertyGridEntry.cs,
6225 ImageList.cs, ThemeWin32Classic.cs, X11Keyboard.cs,
6226 CheckedListBox.cs, HelpNavigator.cs, DateTimePickerFormat.cs,
6227 MdiClient.cs, DataGridDrawingLogic.cs, DataGridBoolColumn.cs,
6228 NodeLabelEditEventArgs.cs, Screen.cs, PropertyManager.cs,
6229 ComponentModel.cs, PropertiesTab.cs, CurrencyManager.cs,
6230 SizeGrip.cs, DateBoldEventArgs.cs, X11Dnd.cs, Panel.cs,
6231 Hwnd.cs, OSXStructs.cs, DrawMode.cs, XplatUIDriver.cs,
6232 RichTextBox.cs, PropertyTabChangedEventArgs.cs, CommonDialog.cs,
6233 DataGrid.cs, XplatUIX11.cs, RichTextBoxStreamType.cs, Win32DnD.cs,
6234 ErrorBlinkStyle.cs, TreeViewEventHandler.cs,
6235 PropertyValueChangedEventHandler.cs, IFileReaderService.cs,
6236 DataGridTextBox.cs, SelectedGridItemChangedEventArgs.cs, ScrollBar.cs,
6237 ListBox.cs, TreeViewAction.cs, Help.cs, TrackBar.cs,
6238 AxHost.cs, PropertyValueChangedEventArgs.cs, XplatUIOSX.cs,
6239 RichTextBoxFinds.cs, UpDownEventArgs.cs, Cursors.cs,
6240 CategoryGridEntry.cs, RichTextBoxWordPunctuations.cs, DataGridColumnStyle.cs,
6241 SelectedGridItemChangedEventHandler.cs, DateTimePicker.cs, NavigateEventHandler.cs,
6242 Clipboard.cs, UpDownEventHandler.cs, MonthCalendar.cs,
6243 SendKeys.cs, DataGridPreferredColumnWidthTypeConverter.cs, TreeView.cs,
6244 ThreadExceptionDialog.cs, ImageListConverter.cs, XplatUIWin32.cs,
6245 TreeViewEventArgs.cs: Fixed whitespace and set eol-style:native attribute
6247 2005-09-21 Jackson Harper <jackson@ximian.com>
6249 * TreeNode.cs: Call Before/After Expand not Collapse when
6252 2005-09-20 Jackson Harper <jackson@ximian.com>
6254 * XplatUIX11.cs: Use the more hand looking hand (in most themes).
6256 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
6260 - Fixes proper storing of subitems
6261 - Fixes not updated items
6263 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
6265 * Control.cs, TextBoxBase.cs, TextControl.cs: Don't do certain
6266 things if our window handle isn't created yet. Also disabled
6267 debug for TextBoxBase
6269 2005-09-20 Peter Dennis Bartok <pbartok@novell.com>
6271 * MenuAPI.cs: Remove filtering of events to allow menu usage
6273 2005-09-20 Miguel de Icaza <miguel@novell.com>
6275 * Cursor.cs: Allow null to be passed to Cursor.Current.
6277 2005-09-20 Alexander Olk <alex.olk@googlemail.com>
6279 * ThemeWin32Classic.cs:
6280 - Change some private methods/fields to protected virtual so that
6281 they can be accessed and overriden in derived classes
6282 - First refactoring of some methods. Derived themes now don't
6283 need to duplicate the complete code from ThemeWin32Classic
6285 - Added nice StatusBar
6286 - Derive from ThemeWin32Classic and not Theme
6287 - Removed duplicate ThemeWin32Classic code
6289 2005-09-20 Miguel de Icaza <miguel@novell.com>
6291 * Control.cs (ControlCollection.Add): If the value null is passed
6292 the control is ignored.
6296 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
6298 * MenuAPI.cs: Replaced Application.Run() with a loop that tracks
6299 PostQuitMessage state.
6300 * XplatUIWin32.cs: Removed bogus PostQuitMessage P/Invoke with HWND arg
6302 2005-09-19 Peter Dennis Bartok <pbartok@novell.com>
6304 * Application.cs: Our constructor will never get called, move
6305 initialization to fields; fixes bug #75933
6307 2005-09-19 Hisham Mardam Bey <hisham.mardambey@gmail.com>
6310 - Allow files to be selected properly using file name
6312 - Add ability to change diretory (absolute / relative)
6313 using file name combo box.
6315 2005-09-16 Jordi Mas i Hernandez <jordi@ximian.com>
6318 - Fixes Multicolumn listboxes item wrong calculations
6319 - Allows to click when only one item is in the listbox
6320 - Fixes crash when no items using keyboard navigation
6322 2005-09-16 Alexander Olk <alex.olk@googlemail.com>
6324 * ComboBox.cs: Reverted almost everything from the latest patch which
6327 2005-09-16 Kazuki Oikawa <kazuki@panicode.com>
6330 - Fixed #Mtd2 of ToolTipTest.RemoveToolTipTest.
6332 - When DropDownStyle is Simple, it does not show scrollbar
6333 to the last item of the list.
6334 - When DropDownStyle is Simple, it crashed when the list was
6335 scrolled down with the down cursor key.
6336 - Fixed a bug that when DropDownStyle is DropDownList, the
6337 selected item was not shown.
6338 - The position of the selected item was not preserved when
6339 the next dropdown happened.
6340 * ThemeWin32Classic.cs:
6341 - Items were wrapped at the right end.
6342 * CheckedListBox.cs:
6345 - Items should be fully shown.
6346 - When resizing and vertical scrollbar disappeared, the item
6347 of index 0 should be on the top of the list.
6348 - GetItemRectangle should consider the size of ver. scrollbar
6350 - SizingGrip area should not be allocated when it is not
6352 - Now it reflects MinWidth of the containing panel and
6353 fixed a crash that happens when its width becomes so small.
6355 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
6357 * CheckedListBox.cs: Fixes bug 76028
6358 * ListBox.cs: Fixes bug 76028
6360 2005-09-13 Jordi Mas i Hernandez <jordi@ximian.com>
6362 * ThemeWin32Classic.cs: Sets clipping on DataGridPaintRowsHeaders
6363 * DataGridDrawingLogic.cs: fixes issues with Datagrid drawing
6365 2005-09-12 Jordi Mas i Hernandez <jordi@ximian.com>
6367 * XplatUIX11.cs: fixes System.NullReferenceException in some situations
6369 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
6371 * IRootGridEntry.cs: Changed namespace to PropertyGridInternal
6373 2005-09-09 Jonathan Chambers <jonathan.chambers@ansys.com>
6375 * IRootGridEntry.cs: Added
6376 * PropertyGridCommands.cs: Added
6377 * PropertiesTab.cs: Added missing methods and property
6378 * PropertyGridView.cs: Made class internal
6379 * PropertyGridTextBox.cs: Made class internal
6381 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
6383 * MimeIcon.cs: Try to check some other environment variables
6384 if "DESKTOP_SESSION" returns "default"
6386 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
6388 * ThemeNice.cs: Corrected background colors (e.g. menus)
6389 * ColorDialog.cs: Use correct background colors for controls
6391 2005-09-09 Alexander Olk <alex.olk@googlemail.com>
6393 * ThemeNice.cs: Merged r49535 from ThemeWin32Classic
6395 2005-09-08 Peter Dennis Bartok <pbartok@novell.com>
6397 * RichTextBox.cs: Added initial implementation
6398 * lang.cs: Removed. Was accidentally checked in long time ago
6399 * TODO: Removed. Contents were obsolete
6401 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
6403 * PropertiesTab.cs : Added
6405 2005-09-06 Jonathan Chambers <jonathan.chambers@ansys.com>
6407 * PropertyGrid.cs : Update
6408 * PropertyGridView.cs : Update
6409 * System.Windows.Forms.resx : Added images and strings
6411 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
6413 * ThemeNice.cs: Do not dispose Pens retrieved from ResPool
6415 2005-09-06 Peter Dennis Bartok <pbartok@novell.com>
6417 * XplatUIX11.cs: Force a flush after Ungrab; if case the app enters
6418 a busy loop right after the Ungrab the X11 display is otherwise
6421 2005-09-06 Jordi Mas i Hernandez <jordi@ximian.com>
6423 * ThemeWin32Classic.cs: Optimise the use of clipping
6425 2005-09-05 Jordi Mas i Hernandez <jordi@ximian.com>
6427 * DataGrid.cs: fixes recursion bug
6429 2005-09-03 Alexander Olk <alex.olk@googlemail.com>
6432 - Draw RadioButton and CheckBox Buttons with DrawButtonBase
6435 2005-09-02 Alexander Olk <alex.olk@googlemail.com>
6437 * ThemeNice.cs: Draw nice ProgressBars
6439 2005-09-01 Miguel de Icaza <miguel@novell.com>
6441 * VScrollBar.cs: Another buglet found by Aaron's tool.
6443 * ProgressBar.cs: Fix three recursive bugs found by Aaron Tomb's
6446 2005-08-30 Alexander Olk <alex.olk@googlemail.com>
6449 - Added nicer menu drawing
6453 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
6455 * CreateParams.cs (ToString): Made output match MS
6456 * Control.cs (Text): Don't set Text or Focus via XplatUI unless
6457 handle is already created (to avoid forcing window creation)
6458 * XplatUIX11.cs: Set window text to caption after creating window,
6459 in case Text was set before window was created
6460 * Form.cs: Use this.Text instead of a static string as caption
6462 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
6464 * NotifyIcon.cs: Don't set the window to visible; this screws
6465 up Win32 (causes WM_NCPAINT to be sent on Win32, which calls
6466 OnPaint without a bitmap)
6467 * XplatUIX11.cs: Removed Visible optimization in AddExpose; doesn't
6468 happen very often anyway; we could add the check to the WM_PAINT
6469 event generation code
6471 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
6473 * NotifyIcon.cs: Fill the icon area with a background color, to
6474 avoid 'residue' when transparent icons are drawn
6476 - Handle whole_window == client_window when destroying windows
6477 - SystrayAdd(): Set client_window to whole_window value to
6478 get mouse and other events passed to NotifyIcon
6480 2005-08-30 Peter Dennis Bartok <pbartok@novell.com>
6482 * Form.cs: Set proper default for Opacity property
6484 - ShowSystray(): Don't bother creating telling the OS
6485 about the systray item if no icon is provided
6486 - Now handles WM_NCPAINT message to deal with whole/client window
6488 - Create window as visible to not get caught by Expose optimization
6489 * Hwnd.cs: Removed debug message
6490 * ComboBox.cs, ScrollBar.cs, ListBox.cs, TrackBar.cs, TabControl.cs,
6491 StatusBar.cs, TreeView.cs, XplatUIOSX.cs, XplatUIWin32.cs: Switched
6492 PaintEventStart/End to use new client argument
6494 - Commented out debug messages
6495 - Switched PaintEventStart/End to use new client argument
6496 * XplatUI.cs: Added client window bool to PaintEventStart()/
6497 PaintEventEnd() calls, to support drawing in non-client areas
6499 - Added client window bool to PaintEventStart()/PaintEventEnd()
6500 calls, to support drawing in non-client areas
6501 - Added conditional compile to allow using MWF BeginInvoke
6504 - Added some conditional debug output
6505 - Fixed SystrayAdd() method to support new (for SystrayAdd, anyway)
6506 whole/client window split
6507 - Implemented handling of client argument to PaintEventStart()/End()
6509 - Throw exception if BeginInvoke() is called and the window handle
6510 or one of the window's parent handles is not created
6511 - Added conditional compile to allow using MWF BeginInvoke on
6513 - get_Parent(): Only sets parent if handle is created. This avoids
6514 forcing window handle creation when parent is set.
6515 - Now fires Layout and Parent changed events in proper order
6516 - Switched to use Handle instead of window.Handle for Z-Order setting,
6517 the get_Parent() patch above causes us to possibly get null for 'window'
6518 - Implemented handling of client argument to PaintEventStart()/End()
6519 - Now reports back to windows that WM_SETCURSOR was handled (to avoid
6521 - Now sends a Refresh() to all child windows when Refresh() is called
6523 2005-08-29 Peter Dennis Bartok <pbartok@novell.com>
6525 * Form.cs: Added (non-functional) Opacity property
6526 * XplatUIWin32.cs (SystrayAdd): Removed bogus line of code
6528 2005-08-29 Alexander Olk <xenomorph2@onlinehome.de>
6529 * ThemeNice.cs: New theme for MWF, based on ThemWin32Classic
6530 use export MONO_THEME=nice to activate it.
6531 Currently supported controls:
6535 - TabControl (TabAlignment.Top only, other will follow)
6536 * ThemeEngine.cs: Add theme nice
6537 * ButtonBase.cs: Redraw button on MouseEnter and MouseLeave everytime,
6540 2005-08-25 Jonathan Chambers <jonathan.chambers@ansys.com>
6542 * Splitter.cs: Resize docked control and its neighbor.
6544 2005-08-24 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
6545 -- Making Windows with Menus layout correctly --
6546 * Form.cs : The first leg of the fix
6547 Menu setter - adjust Client Size as needed to make space for the menu
6548 SetClientSizeCore - doesn't call base version to be able to pass the
6549 menu handle to XplatUI.CalculateWindowRect
6550 * Hwnd.cs: Fix for menu_height, now gets from MenuAPI.MENU
6551 * XplatUIX11.cs: The critical second leg of the fix
6552 GetWindowPos needs to use a recalculated client_rect
6553 so that resizing the window doesn't break layout of child controls.
6554 Also a more complete rule to avoid X Server roundtrips in SetWindowPos
6557 2005-08-23 Peter Dennis Bartok <pbartok@novell.com>
6559 * Label.cs: Now properly recalculates width and height on Font and Text
6560 changes if AutoSize is set
6562 2005-08-19 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
6563 * TreeView.cs : Revamped drawing logic, and support for FullRowSelect
6565 2005-08-19 Jordi Mas i Hernandez <jordi@ximian.com>
6567 * ImageList.cs: Makes ToString method compatible with MS
6569 2005-08-18 Jordi Mas i Hernandez <jordi@ximian.com>
6571 * MenuAPI.cs: fixes bug 75716
6573 2005-08-11 Umadevi S <sumadevi@novell.com>
6574 * Control.cs: Fixed Remove & RemoveAt to make the parent of the control null.
6576 2005-08-11 Umadevi S <sumadevi@novell.com>
6577 * Contorl.cs: Fixed ResetRightToLeft and ResetImeMode to work correctly
6579 2005-08-10 Umadevi S <sumadevi@novell.com>
6580 * CheckedListBox.cs: Fixed event firing on Adding to the CheckedListBox
6582 2005-08-07 Jordi Mas i Hernandez <jordi@ximian.com>
6584 * Menu.cs: fixes bug 75700
6585 * MenuAPI.cs: fixes navigation issues
6587 2005-08-09 Umadevi S <sumadevi@novell.com>
6588 * CheckedListBox.cs - simple fix for GetItemChecked.
6590 2005-08-08 Jordi Mas i Hernandez <jordi@ximian.com>
6592 * ComboBox.cs: Serveral fixes
6593 * ListBox.cs: Serveral fixes
6595 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
6597 * ComboBox.cs: Fixes FindString methods and GetItemHeight
6598 * ListBox.cs: Fixes FindString methods
6600 2005-08-05 Jordi Mas i Hernandez <jordi@ximian.com>
6602 * DataGrid.cs: fixes bugs exposed by new tests
6604 2005-08-04 Peter Dennis Bartok <pbartok@novell.com>
6606 * Mime.cs: Compile Mono assembly references only if compiling
6607 with Mono (Allows to build with VS.Net again)
6609 2005-07-28 Marek Safar <marek.safar@seznam.cz>
6611 * Control.cs (PaintControlBackground): Draw background image
6613 (CheckForIllegalCrossThreadCalls): Stubbed.
6615 * Form.cs (OnCreateControl): Center when should be centered.
6617 * ThemeWin32Classic.cs (DrawPictureBox): Pass size.
6619 2005-07-19 Jordi Mas i Hernandez <jordi@ximian.com>
6621 * Binding.cs: Binding to properties should be case unsensitive
6623 2005-07-18 vlindos@nucleusys.com
6625 * DataGrid.cs: fixes setmember order
6627 2005-07-07 Alexander Olk <xenomorph2@onlinehome.de>
6629 * MimeIcon.cs: added MimeIcon stuff (MimeIconEngine)
6630 * FileDialog.cs: FileDialog is now resizable and uses the new
6633 2005-07-06 Jordi Mas i Hernandez <jordi@ximian.com>
6635 * DataGridTextBoxColumn.cs: default value
6636 * GridColumnStylesCollection.cs: fixes event firing, checking MappingName
6637 * GridTableStylesCollection.cs: fixes checking MappingName
6638 * DataGridDrawingLogic.cs: fixes drawing logic issues
6639 * DataSourceHelper.cs: rewritten to make compatible with more data sources
6640 * DataGrid.cs: fixes
6642 2005-07-06 Alexander Olk <xenomorph2@onlinehome.de>
6644 * MimeGenerated.cs: Use case sensitive comparer for
6645 NameValueCollections
6647 2005-07-01 Jordi Mas i Hernandez <jordi@ximian.com>
6649 * DataGridTextBoxColumn.cs: bug fixes, code refactoring
6650 * ThemeWin32Classic.cs: bug fixes, code refactoring
6651 * DataGridDrawingLogic.cs: bug fixes, code refactoring
6652 * DataGrid.cs: bug fixes, code refactoring
6653 * DataGridTextBox.cs: bug fixes, code refactoring
6654 * DataGridColumnStyle.cs: bug fixes, code refactoring
6655 * Theme.cs: bug fixes, code refactoring
6657 2005-07-01 Peter Bartok <pbartok@novell.com>
6659 * TextControl.cs: Quick fix for the reported crash on ColorDialog
6660 and other text box usage
6662 2005-07-01 Jackson Harper <jackson@ximian.com>
6664 * TabControl.cs: Make sure the bottom of the tab covers the pages
6667 2005-06-30 Peter Bartok <pbartok@novell.com>
6669 * Form.cs (ShowDialog): Assign owner of the dialog
6670 * TextBoxBase.cs: Always refresh caret size when deleting, caret
6671 might have been moved to a tag with different height
6673 2005-06-30 Jackson Harper <jackson@ximian.com>
6675 * Form.cs: Don't create an infinite loop when setting focus
6676 * MenuItem.cs: Don't dirty the parents if we don't have any
6678 2005-06-29 Ben Maurer <bmaurer@ximian.com>
6680 * LibSupport.cs: Rename
6682 2005-06-29 Peter Bartok <pbartok@novell.com>
6684 * TextBoxBase.cs: Re-align caret after deleting a character
6686 - DeleteChars(): Ensure that tag covers the provided position
6687 - StreamLine(): Drop reference for dropped tag
6689 2005-06-29 Peter Bartok <pbartok@novell.com>
6692 - Selections now work properly, anchoring at the initial location
6693 and properly extending in either direction (SetSelectionToCaret(),
6694 SetSelectionStart() and SetSelectionEnd())
6695 - No longer redraws the whole control on selection change, now
6696 calculates delta between previous and new selection and only
6697 invalidates/redraws that area
6698 - Fixed FindPos() math off-by-one errors
6699 - Changed DeleteChars() to verify the provided tag covers the
6700 provided position, selections may have a tag that doesn't cover
6701 the position if the selection is at a tag border
6702 - Fixed off-by-one errors in DeleteChars()
6703 - Added missing streamlining check in DeleteChars() to remove
6705 - Implemented Invalidate() method, now properly calculates exposures
6706 between two given lines/positions
6707 - Implemented SetSelection()
6708 - Obsoleted and removed FixupSelection()
6709 - Improved RecalculateDocument() logic, removing code duplication
6711 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6713 * LibSupport.cs: changes to match different input/output arguments.
6715 2005-06-29 Gonzalo Paniagua Javier <gonzalo@ximian.com>
6717 * LibSupport.cs: added libsupport.so init routine.
6719 2005-06-29 Jordi Mas i Hernandez <jordi@ximian.com>
6721 * ControlBindingsCollection.cs
6722 - Throws an exception on null datasource when adding
6723 - Checks for duplicated bindings when adding
6725 2005-06-28 Jackson Harper <jackson@ximian.com>
6727 * TreeView.cs (OnKeyDown): Support left and right properly
6728 (navigates as well as expanding and collapsing.
6729 - Add support for Multiply, this expands all the selected nodes
6733 2005-06-28 Jackson Harper <jackson@ximian.com>
6735 * TreeView.cs: Implement keyboard navigation, currently supports,
6736 LEFT, RIGHT, UP, DOWN, PGUP, PGDOWN, HOME, END, ADD, SUBTRACT. Add
6737 support for toggling checkboxes with the space bar.
6739 2005-06-28 Jackson Harper <jackson@ximian.com>
6741 * OpenTreeNodeEnumerator.cs: Don't move past the begining of the
6744 2005-06-28 Jackson Harper <jackson@ximian.com>
6746 * TreeView.cs: Add missing event.
6748 2005-06-27 Peter Bartok <pbartok@novell.com>
6751 - Made line ending size configurable (now allows for counting
6752 lineendings as \n or \r\n)
6753 - Added margin to viewport to keep caret visible on right side
6754 - Fixed translation routines for line/pos to documentpos to consider
6755 cr/lf when counting (Fixes RichTextBox.SelectionFont issues)
6756 - Fixed some line-endings to be unix style
6757 - Fixed Document.FormatText to perform it's calculations 1-based
6758 - Added descriptions for a few methods that might otherwise get
6760 - Added NOTE section with some basic conventions to remember at
6762 - Major fixup for RichTextBox selection drawing:
6763 * Fixed crashes when multiple tags on a single line were selected
6764 * fixed selection box drawing not overlaying text
6765 * fixed bogus offset calculation for tags not starting at index 1
6766 * Switched behaviour from using multiple Substrings of a
6767 StringBuilder.ToString() to using multiple
6768 StringBuilder.ToString(start, length) statements, hoping this is
6769 faster (kept original version commented out in the code, in case
6770 original version was faster)
6771 * TextBox.cs (set_TextAlignment): TextBox always needs to wrap if
6773 * TextBoxBase.cs (CalculateDocument): Made protected so RichTextBox can
6776 2005-06-27 Jackson Harper <jackson@ximian.com>
6778 * TabControl.cs: Move to the left and right with the arrow
6779 keys. These keys don't cycle beyond first and last like
6780 tab. Refresh all the tabs when scrolling them to the left or
6783 2005-06-27 Jackson Harper <jackson@ximian.com>
6786 - ToString: Added method
6787 - CreateParams: Remove TODO and comment
6788 - OnKeyDown: Cycle through bounds properly.
6789 - SelectedIndex: Scroll to the right or left if we need to
6790 display the newly selected tab.
6792 2005-06-23 Jackson Harper <jackson@ximian.com>
6794 * TabControl.cs: Stay in bounds when cycling. Make sure Handled is
6797 2005-06-23 Jackson Harper <jackson@ximian.com>
6799 * TabControl.cs: Keyboard handling. We now support CTRL-TAB,
6800 CTRL-SHIFT-TAB, and HOME, END are there any others?
6802 2005-06-23 Jackson Harper <jackson@ximian.com>
6804 * XplatUIX11.cs: Get the modifier keys from the keyboard driver.
6806 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
6808 * DataGridTextBoxColumn.cs: fixes and enhancements
6809 * ThemeWin32Classic.cs: fixes and enhancements
6810 * DataGridBoolColumn.cs: fixes and enhancements
6811 * DataGridDrawingLogic.cs: fixes and enhancements
6812 * CurrencyManager.cs: fixes and enhancements
6813 * DataGrid.cs: fixes and enhancements
6814 * DataGridColumnStyle.cs: fixes and enhancements
6816 2005-06-22 Jackson Harper <jackson@ximian.com>
6818 * TabControl.cs: Add some missing methods that just call into the
6819 base. Make the TabPageCollection's IList interface behave in the
6820 same manner as the MS implementation.
6822 2005-06-22 Peter Bartok <pbartok@novell.com>
6824 * TextControl.cs: Added sanity check
6826 - Fixed wrapping behaviour, don't set wrap on single line controls
6827 (this fixes the breakage of colordialog introduced in an earlier
6829 - Added rudimentary support for autoscrolling right-aligned controls
6830 (still needs fixing, also, center alignment scroll is missing)
6832 2005-06-22 Jordi Mas i Hernandez <jordi@ximian.com>
6834 * ScrollBar.cs: Fixes thumbpos on Maximum values
6836 2005-06-21 Jonathan Chambers <jonathan.chambers@ansys.com>
6838 * PropertyGridView.cs: Pass context information to UITypeEditors
6840 2005-06-21 Peter Bartok <pbartok@novell.com>
6843 - Now calling PositionCaret with absolute space coordinates
6844 - Enabled vertical scrolling
6845 - Better tracking of scrollbar changes, tied into WidthChange
6847 - Improved cursor tracking
6848 - Removed debug output
6850 - PositionCaret coordinates are now works in absolute space, not
6852 - Improved tracking of document size
6853 - Added events for width and height changes
6855 2005-06-21 Peter Bartok <pbartok@novell.com>
6857 * Form.cs: Set focus to active control when form is activated
6859 - Added word-wrap functionality to RecalculateLine()
6860 - Added some short function descriptions for VS.Net to aid in
6861 writing dependent controls
6862 - Added Caret property, returning the current coords of the caret
6863 - Added ViewPortWidth and ViewPortHeight properties
6864 - Added Wrap property
6865 - Added CaretMoved event
6866 - Removed some old debug code
6867 - Split() can now create soft splits
6868 - Added PreviousTag()/NextTag() to allow walking "tag-lists"
6869 - Added method to format existing text
6870 - Fixed size/alignment calculations to use viewport
6871 - RecalculateDocument now can handle changing line-numbers while
6875 - Added some wrap logic, we don't wrap if alignment is not left
6876 - Added casts for scrollbar var, base class switched types to
6877 also support RichTextBoxA
6878 - Implemented handling of scrollbar visibility flags
6881 - Switched scrollbars type to RichTextBoxScrollBars to support
6883 - Added tracking of canvas width/height
6884 - Switched scrollbars to be not selectable (to keep focus on text)
6885 - Added central CalculateDocument() method to handle all redraw
6887 - Added ReadOnly support
6888 - Added WordWrap support
6889 - Fixed handling of Enter key (we now treat it as a DialogKey)
6890 - Fixed caret positioning when h or v scroll is not zero
6891 - Fixed placing/generation of vertical scrollbar
6892 - Added CalculateScrollBars() method to allow updating scrollbar
6893 limits and visibility
6894 - Fixed handling of horizontal scroll
6895 - Added handling of vertical scroll
6896 - Implemented auto-'jump' when caret moves to close to a left or
6897 right border and there is text to be scrolled into view (currently
6898 there's the potential for a stack overflow, until a bug in
6901 2005-06-21 Geoff Norton <gnorton@customerdna.com>
6903 * XplatUIOSX.cs: Initial implementation of WM_ERASEBKGND
6905 2005-06-19 Alexander Olk <xenomorph2@onlinehome.de>
6909 - return application/x-zerosize for files with size zero
6910 (if no extension pattern matches).
6911 - check matches collection for strings too.
6912 - return only the first mime type if the name value
6913 collection has more than one mime type.
6915 2005-06-18 Jonathan Chambers <jonathan.chambers@ansys.com>
6917 * PropertyGrid.cs: Cleaned up some TODOs
6918 * PropertyGridView.cs: Added support for UITypeEditors
6920 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
6922 * DataGrid.cs: clears cached value
6924 2005-06-17 Jordi Mas i Hernandez <jordi@ximian.com>
6926 * DataGridTextBoxColumn.cs: new rows, speed improvements, fixes, readonly prop.
6927 * DataGridDrawingLogic.cs: new rows, speed improvements, fixes, readonly prop.
6928 * DataGrid.cs: new rows, speed improvements, fixes, readonly prop.
6929 * DataGridColumnStyle.cs: new rows, speed improvements, fixes, readonly prop.
6931 2005-06-16 Jordi Mas i Hernandez <jordi@ximian.com>
6933 * ThemeWin32Classic.cs: fixes colour
6935 2005-06-15 Peter Bartok <pbartok@novell.com>
6937 * MWFCategoryAttribute.cs: Added (Needed for PropertyGrid designer support)
6938 * MWFDescriptionAttribute.cs: Added (Needed for PropertyGrid designer support)
6939 * ButtonBase.cs: Added MWFCategory and MWFDescription attributes
6940 * Control.cs: Added some MWFCategory and MWFDescription attributes
6941 * ScrollBar.cs: Added some MWFCategory and MWFDescription attributes
6943 2005-06-15 Alexander Olk <xenomorph2@onlinehome.de>
6945 * Mime.cs, MimeGenerated.cs: First draft of MWF mime stuff, see Mime.cs for
6948 2005-06-14 Jordi Mas i Hernandez <jordi@ximian.com>
6950 * DataGridTextBoxColumn.cs: default datagrid settings for Default Styles, fixes
6951 * DataGridTableStyle.cs: default datagrid settings for Default Styles, fixes
6952 * DataGridDrawingLogic.cs: default datagrid settings for Default Styles, fixes
6953 * DataGridBoolColumn.cs: default datagrid settings for Default Styles, fixes
6954 * DataGrid.cs: default datagrid settings for Default Styles, fixes
6955 * DataGridColumnStyle.cs: default datagrid settings for Default Styles, fixes
6957 2005-06-13 Jackson Harper <jackson@ximian.com>
6959 * XplatUIX11.cs: Override SetAllowDrop on X11 so an error message
6960 isn't printed when the user enables dropping. (X11 does accept
6963 2005-06-13 Jackson Harper <jackson@ximian.com>
6965 * TreeView.cs: Remove some TODOS.
6967 2005-06-13 Jackson Harper <jackson@ximian.com>
6969 * Form.cs: Hook into the mdi framework.
6970 * MdiClient.cs: Use the base control collections add method so
6971 parents get setup correctly. Set the default back colour and dock
6973 * MdiChildContext.cs: New class, this bad actor handles an
6974 instance of an MDI window. Right now there is only basic
6975 support. You can drag, close, and resize windows. Minimize and
6976 Maximize are partially implemented.
6978 2005-06-13 Jackson Harper <jackson@ximian.com>
6980 * XplatUIX11.cs: Mash numbers together properly, otherwise we get
6981 freaky when both vals are negative. NOTE: There are probably other
6982 places in XplatUIX11 that this needs to be done.
6984 2005-06-13 Jordi Mas i Hernandez <jordi@ximian.com>
6986 * DataGrid.cs: implement missing methods, move KeyboardNavigation
6987 * DataGridColumnStyle.cs: fixes signature
6989 2005-06-12 Jackson Harper <jackson@ximian.com>
6991 * XplatUIX11.cs: Use sizing cursors similar to the ones on
6994 2005-06-11 Jackson Harper <jackson@ximian.com>
6996 * StatusBarPanel.cs: Signature cleanups. Implement
6999 2005-06-10 Jordi Mas i Hernandez <jordi@ximian.com>
7001 * DataGridTextBoxColumn.cs: Honors aligment
7002 * GridColumnStylesCollection.cs: Contains is case unsensitive
7003 * GridTableStylesCollection.cs: several fixes
7004 * DataGridTableStyle.cs: default column creation
7005 * DataGridDrawingLogic.cs: fixes
7006 * CurrencyManager.cs: ListName property
7007 * DataGrid.cs: multiple styles support
7008 * DataGridColumnStyle.cs: fixes
7011 2005-06-10 Peter Bartok <pbartok@novell.com>
7013 * Control.cs(Select): Moved SetFocus call to avoid potential
7014 loops if controls change the active control when getting focus
7015 * UpDownBase.cs: Fixes to allow proper keyboard focus after clicking
7018 2005-06-10 Matthias Felgner <matthiasf@voelcker.ocm>
7020 * ImageListConverter.cs: Implemented
7022 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
7024 * MonthCalendar.cs: Wired in NumericUpDown control for year
7026 2005-06-10 John BouAntoun <jba-mono@optusnet.com.au>
7028 * MonthCalendar.cs: Removed MonoTodo attributes on Click and
7029 DoubleClick events, since they are not meant to be fired.
7031 2005-06-09 Peter Bartok <pbartok@novell.com>
7033 * UpDownBase.cs, NumericUpDown.cs, DomainUpDown.cs: Integrated
7034 Jonathan's standalone controls into MWF, implemented missing
7035 events, attributes and methods; added xxxAccessible classes
7036 * AccessibleObject.cs: Made fields internal so other classes
7037 can change them if needed
7039 2005-06-09 Jonathan Gilbert <2a5gjx302@sneakemail.com>
7041 * UpDownBase.cs: Complete implementation
7042 * NumericUpDown.cs: Complete implementation
7043 * DomainUpDown.cs: Complete implementation
7045 2005-06-09 Jordi Mas i Hernandez <jordi@ximian.com>
7047 * DataGridTextBoxColumn.cs: drawing fixes
7048 * DataGridCell.cs: fixes ToString method to match MSNet
7049 * DataGridTableStyle.cs: fixes
7050 * DataGridBoolColumn.cs: fixes, drawing
7051 * DataGridDrawingLogic.cs: fixes, new methods
7052 * DataGridTextBox.cs: Keyboard and fixes
7054 - Keyboard navigation
7056 - Row selection (single, multiple, deletion, etc)
7059 2005-06-07 Jackson Harper <jackson@ximian.com>
7061 * ThemeWin32Classic.cs: Clear the background area when drawing
7064 2005-06-06 Peter Bartok <pbartok@novell.com>
7066 * ImageListStreamer.cs: Fixed signature for GetData
7067 * CheckBox.cs: Fixed base class for CheckBoxAccessibleObject
7069 - Added missing ChildAccessibleObject class
7070 - Added missing OnXXXFocus overrides, switched to using those
7071 instead of the event handler
7073 - Added Parent property for ControlAccessibleObject
7076 - Added ResetBindings()
7077 * ListBindingConverter.cs: Implemented some methods
7078 * ButtonBase.cs: Added missing ButtonBaseAccessibleObject class
7079 * ImageList.cs: Implemented basic handle scheme, removed TODOs
7080 * ContainerControl.cs: Fixed signature, now subscribing to the
7081 ControlRemoved event instead of overriding the handler, LAMESPEC
7082 * CurrencyManager.cs: Added missing attribute
7083 * MonthCalendar.cs: Added missing properties
7085 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
7087 * DataGridColumnStyle.cs: fixes for DataGridColumnStyle
7089 2005-06-06 Gaurav Vaish and Ankit Jain
7091 * DataSourceHelper.cs: Gaurav Vaish and Ankit Jain patch for databinding
7092 * DataGrid.cs: Gaurav Vaish and Ankit Jain patch for databinding
7094 2005-06-06 Jordi Mas i Hernandez <jordi@ximian.com>
7096 * Control.cs: fixes CreateParams Width / Height.
7098 2005-06-05 Peter Bartok <pbartok@novell.com>
7100 * Win32DnD.cs: Removed compilation warnings
7102 2005-06-05 Peter Bartok <pbartok@novell.com>
7104 * Control.cs (CreateParams): Since we don't know if one of the
7105 properties we use is overridden, lets make sure if we fail accessing
7106 we continue with a backup plan
7108 2005-06-05 Peter Bartok <pbartok@novell.com>
7111 - Removed debug output
7112 - Added MarshalAs attribute to ensure proper marshalling of FORMATETC
7114 - Plugged resource leak
7115 * XplatUIStructs.cs: Changed ClipboardFormats size to ushort, to match
7118 2005-06-05 Peter Bartok <pbartok@novell.com>
7120 * XplatUIWin32.cs: Removed DnD code
7121 * Win32DnD.cs: Implemented drop source and drop target functionality
7123 2005-06-05 Gonzalo Paniagua Javier <gonzalo@ximian.com>
7125 * UpDownBase.cs: remove duplicate addition of event, enable some code
7126 that was commented out.
7127 * NumericUpDown.cs: added missing attributes and Hexadecimal property.
7128 Validate input when a key is pressed. It works fine now for every
7129 combination of Hexadecimal. Only missing some drawing love when sharing
7130 space with other controls.
7132 2005-06-04 Peter Bartok <pbartok@novell.com>
7135 - We need to pass a window for DragDrop, so enable callback events
7136 - Added DnD callback events when being a DragSource
7137 * XplatUI.cs (StartDrag): Added window handle argument
7138 * XplatUIDriver.cs (StartDrag): Added window handle argument
7139 * QueryContinueDragEventArgs: Made fields internally accessible so
7140 drivers can set them
7141 * GiveFeedbackEventArgs: Made fields internally accessible so drivers
7144 2005-06-03 Jordi Mas i Hernandez <jordi@ximian.com>
7146 * DataGridTextBoxColumn.cs: column text editing
7147 * DataGridTableStyle.cs: Respect columns styles created by the user
7148 * DataGridDrawingLogic.cs: lots of drawing fixes and enhanments
7149 * DataGridBoolColumn.cs: bool column editing
7150 * DataGrid.cs: fixes to scrolling, properties, etc
7151 * DataGridTextBox.cs: handle keyboard
7152 * DataGridColumnStyle.cs: fixes
7154 2005-06-02 Jackson Harper <jackson@ximian.com>
7156 * ImageListStreamer.cs: Somewhat broken implementation of
7157 GetObjectData. The RLE needs some work to match MS properly.
7159 2005-06-02 Jackson Harper <jackson@ximian.com>
7161 * X11Dnd.cs: Attempting to keep at least one file in MWF
7164 2005-06-02 Peter Bartok <pbartok@novell.com>
7166 * X11DnD.cs: Use Marshal.SizeOf instead of sizeof, no /unsafe required
7169 2005-06-02 Peter Bartok <pbartok@novell.com>
7171 * Control.cs: Removed MonoTODO from DoDragDrop and added call to Xplat
7172 * XplatUI.cs: Added DoDragDrop() method
7173 * XplatUIDriver.cs: Added DoDragDrop() method
7175 2005-06-02 Jackson Harper <jackson@ximian.com>
7177 * Splitter.cs: Implement BorderStyle.
7179 2005-06-02 Jackson Harper <jackson@ximian.com>
7181 * XplatUIX11.cs: Tie into the X11Dnd subsystem.
7182 * X11Dnd.cs: New file. A subsystem that handles drag and drop on
7185 2005-06-02 Peter Bartok <pbartok@novell.com>
7189 - Fixed broken insertion code for SetData, now also
7190 overwrites any existing entry of the same format name
7191 * Hwnd.cs: Added list of pointers that automatically gets
7192 freed when the window is disposed
7193 * XplatUI.cs: Call driver initialization method when loading
7196 - OnDragLeave takes EventArgs, not DragEventArgs
7197 - Added setting of WS_EX_ACCEPTFILES style when dropping is
7199 - Forces style update when drop state changes
7200 * XplatUIWin32.cs: Implemented Drag'n'Drop (as good as possible,
7201 not perfect since we cannot (yet) call the IDataObject.GetData()
7202 method, we keep getting 0x80004005 error, dunno why)
7204 2005-06-02 Peter Bartok <pbartok@novell.com>
7206 * DragEventArgs.cs: Make fields internal so we can cache the
7207 object and re-set the fields from XplatUI
7209 2005-06-02 Jackson Harper <jackson@ximian.com>
7211 * Control.cs: Add some internal methods so the DnD subsystem can
7212 raise DnD events. Also call into the driver when AllowDrop is set.
7214 * XplatUIDriver.cs: New method for setting whether or not a window
7215 is allowed to accept drag and drop messages.
7217 2005-06-01 Jordi Mas i Hernandez <jordi@ximian.com>
7219 * ScrollBar.cs: Make sure that values sent in Scroll events
7220 are always between Maximum and Minimum.
7222 2005-06-01 Marek Safar <marek.safar@seznam.cz>
7224 * Menu.cs: Call MenuChanged when menuitem visibility has been
7226 * MenuItem.cs: Rebuild menu when item is (not) visible.
7227 * MainMenu.cs: MainMenu has special MenuChanged.
7228 * Theme.cs: Caption and FrameBorderSize are not fixed.
7229 * XplatUI.cs: Added CaptionHeight,FrameBorderSize.
7230 * XplatUIDriver.cs: Introduced Caption and FrameBorderSize.
7232 * XplatUIOSX: Caption and FrameBorderSize not implemented yet.
7233 * XplatUIWin32.cs: Get Caption and FrameBorderSize from system.
7235 2005-05-30 Jackson Harper <jackson@ximian.com>
7237 * DataFormat.cs: We can't statically initialize this stuff because
7238 it calls into the xplatui and could create a loop. So we lazy init
7241 2005-05-28 Jackson Harper <jackson@ximian.com>
7243 * Control.cs: Proper implementation of Product(Name/Version).
7245 2005-05-27 Jackson Harper <jackson@ximian.com>
7247 * DataObject.cs: Dont crash if no data is found.
7249 2005-05-26 Rafael Teixeira <rafaelteixeirabr@hotmail.com>
7250 * MdiClient.cs: Add missing Localizable attribute to BackgroundImage property
7251 as per status page, guessing it should be set to true
7253 2005-05-26 Jordi Mas i Hernandez <jordi@ximian.com>
7255 * DataGridTextBoxColumn.cs: Draws text and basic text formatting
7256 * DataGridTableStyle.cs: set proper formatting text, def header text
7257 * ThemeWin32Classic.cs: new themable paramaters
7258 * DataGridBoolColumn.cs: paint check box, get data, fixes
7259 * DataGridDrawingLogic.cs: huge improvements in painting, fixes, new methods
7260 * DataGrid.cs: fixes properties, implements vertical and horizontal scrolling
7261 * DataGridColumnStyle.cs: fixes
7262 * Theme.cs: new themable paramaters
7264 2005-05-26 Peter Bartok <pbartok@novell.com>
7266 * ContainerControl.cs: Pass AdjustFormScrollbars() call on to base
7268 2005-05-24 Jonathan S. Chambers <jonathan.chambers@ansys.com>
7269 * Control.cs: Fixed LowOrder and HighOrder to preserve sign.
7271 2005-05-24 Peter Bartok <pbartok@novell.com>
7273 * OpenFileDialog.cs, Form.cs, Menu.cs, GroupBox.cs, UserControl.cs,
7274 Label.cs, DataGridTextBoxColumn.cs, PropertyGrid.cs, ErrorProvider.cs
7275 Splitter.cs, Control.cs, FontDialog.cs, TabPage.cs,
7276 FolderBrowserDialog.cs, HelpProvider.cs, DataGridTableStyle.cs,
7277 NotifyIcon.cs, FileDialog.cs, ListView.cs, SaveFileDialog.cs,
7278 ToolBarButton.cs, ImageList.cs, DataGridBoolColumn.cs, Panel.cs,
7279 DataGrid.cs, DataGridTextBox.cs, ListBox.cs, TrackBar.cs,
7280 AxHost.cs, TabControl.cs, ScrollableControl.cs, ToolBar.cs,
7281 DataGridColumnStyle.cs, PictureBox.cs, DateTimePicker.cs,
7282 StatusBar.cs, MonthCalendar.cs, TreeView.cs: Added
7283 missing attributes, etc
7284 * DataGridPreferredColumnWidthTypeConverter.cs: Added
7286 2005-05-24 Peter Bartok <pbartok@novell.com>
7288 * Help.cs: Added, implemented trivial functions, throws up MessageBox
7289 when user tries to get help
7290 * DataObject.cs, DataFormats.cs, LinkArea.cs,
7291 SelectionRangeConverter.cs, Clipboard.cs : Removed unused variables
7292 to suppress warnings
7293 * XplatUIWin32.cs, XplatUIOSX.cs, XplatUIX11.cs: Removed unused code to
7294 avoid unreachable code warning
7296 2005-05-20 Peter Bartok <pbartok@novell.com>
7298 * CursorConverter.cs (ConvertTo): Switched to use Cursor.GetObjectData
7300 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
7302 * DataGridTextBoxColumn.cs: Basic painting methods
7303 * DataGridTableStyle.cs: Set table style in the column
7304 * ThemeWin32Classic.cs: Use Theme for colors
7305 * DataGridDrawingLogic.cs: Implement more drawing
7306 * DataGrid.cs: drawing, theming, enhacements, fixes
7307 * DataGridColumnStyle.cs: fixes, drawing
7308 * Theme.cs: theming for Datagrid
7310 2005-05-20 Peter Bartok <pbartok@novell.com>
7312 * Cursor.cs: Implemented GetObjectData() method
7314 2005-05-20 Peter Bartok <pbartok@novell.com>
7316 * Cursors.cs: Added setting of cursor name
7318 - Implemented constructors
7319 - Implemented Draw and DrawStretched
7320 - Implemented Current property
7321 - Implemented == and != operators
7322 - Implemented Dispose()
7323 - Implemented ToString
7324 - Added missing attributes
7326 - Added missing reset for OverrideCursor when DoEvents is called
7327 - Fixed creation of cursor, logic was wrong
7329 - Added missing reset for OverrideCursor when DoEvents is called
7330 - Fixed creation of cursor, bit arrays were swapped
7331 * Clipboard.cs: Removed obsolete MonoTODO attribute
7333 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
7335 * ComboBox.cs: fixes OnSelectedItemChanged
7336 * ControlBindingsCollection.cs: fixes item range check
7338 2005-05-20 Jordi Mas i Hernandez <jordi@ximian.com>
7341 - Calc preferred height properly
7342 - Implement missing properties
7344 * NumericUpDown.cs: Implement missing events
7346 2005-05-19 Jackson Harper <jackson@ximian.com>
7348 * TabControl.cs: New method that resizes the tab pages before
7349 redrawing them. This as needed as the control is double buffered
7350 and sizing will not be recalculated unless ResizeTabPages is
7352 * TabPage.cs: Set base.Text instead of Text in the constructor so
7353 that UpdateOwner does not get called. Use the new Redraw method of
7354 TabControl instead of Refresh so the sizing is recalculated.
7355 * ThemeWin32Classic.cs: Draw the text for button tabs.
7357 2005-05-19 Jackson Harper <jackson@ximian.com>
7359 * Control.cs: Paint control background images. Fix typo where
7360 PaintControlBackground was not getting called correctly.
7362 2005-05-19 Peter Bartok <pbartok@novell.com>
7364 * ScrollableControl.cs (DisplayRectangle): Undid my last change until
7365 I can investigate, apparently I broke FileDialog
7367 2005-05-19 Marek Safar <marek.safar@seznam.cz>
7369 * AxHost.cs: Some simple properties.
7370 * Control.cs: window must be accessible after ctor.
7371 * Form.cs: Added TransparencyKey property.
7372 * TextBoxBase.cs: Implemented Clear. Text property can be null.
7373 * XplatUIWin32.cs: SetBorderStyle implemented.
7375 2005-05-18 Peter Bartok <pbartok@novell.com>
7377 * DataObject.cs: Entries are not global but particular to the
7378 DataObject, now it behaves that way
7379 * XplatUIWin32.cs: Implemented Clipboard methods
7380 * Clipboard.cs: Implemented
7381 * ScrollableControl.cs (DisplayRectangle): Fixed calculation
7382 * XplatUIOSX.cs: Updated to final clipboard prototypes
7383 * XplatUIX11.cs: Implemented Clipboard methods
7384 * XplatUIDriver.cs: Updated to final clipboard prototypes
7385 * XplatUIStructs.cs:
7386 - Added BITMAPINFOHEADER struct
7387 - Added ClipboardFormats enum
7389 - Added ClipboardStruct
7390 - Added Atom enum items for clipboard types
7391 - Fixed atom types for Selection event structures
7393 - Added internal properties and methods for drivers to enumerate
7395 - Switched initialization method to allow drivers to assign their
7396 own IDs even for the MS predefined clipboard IDs
7397 * XplatUI.cs: Updated to final clipboard interface
7399 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
7400 * PropertyGridView.cs: Fixed compiler warnings.
7402 2005-05-18 Jonathan S. Chambers <jonathan.chambers@ansys.com>
7403 * PropertyGrid.cs: Added some event calls
7404 * PropertyGridView.cs: Change drawing code to use double buffering
7405 * PropertyGridTextBox.cs: Changed Text property name
7406 * GridItem.cs: Added Bounds property.
7407 * GridEntry.cs: Added Bounds property.
7409 2005-05-17 Lluis Sanchez Gual <lluis@novell.com>
7411 * Binding.cs: Use IsInstanceOfType instead of IsAssignableFrom
7412 since GetType() may not return the correct type if the object is
7415 2005-05-17 Jordi Mas i Hernandez <jordi@ximian.com>
7417 * TreeNodeCollection.cs: fixes get/set item ranges
7419 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
7421 * ListBox.cs: Kazuki Oikawa's PreferredHeight and ItemHeight fixes
7423 2005-05-15 Jordi Mas i Hernandez <jordi@ximian.com>
7425 * ComboBox.cs: Fix item range comparation
7426 * ListView.cs: Fix item range comparation
7428 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
7431 - Clear example panel when OnPaint is called
7432 - Better solution for displaying the example panel text
7433 - Select default indexes in the ListBoxes
7435 2005-05-11 Geoff Norton <gnorton@customerdna.com>
7437 * XplatUIOSX.cs: Avoid painting into invisible views. Fixes #74926
7439 2005-05-11 Peter Bartok <pbartok@novell.com>
7441 * LinkArea.cs: Added and implemented LinkAreaTypeConverter class
7442 * SelectionRangeConverter.cs: Implemented
7443 * PropertyGrid.cs: Fixed attribute value
7445 - Invoke(): Don't call Begin/EndInvoke if it is not neccessary
7446 - Added Sebastien Pouliot's CAS Stack Propagation fixes
7447 * XplatUIDriver.cs: Added new XplatUIDriverSupport class, for code
7448 that's common to all drivers. First methods to go there are
7449 Sebastien Pouliot's CAS Stack Propagation helper methods
7450 * XplatUIWin32.cs, XplatUIX11.cs, AsyncMethodData.cs: Fixes by
7451 Sebastien Pouliot for CAS Stack Propagation
7453 2005-05-11 Geoff Norton <gnorton@customerdna.com>
7456 XplatUIOSX.cs: More cosmetic cleanup courtesy of Artyom Tyazhelov (Artyom.Tyazhelov@helmes.ee)
7458 2005-05-12 Jordi Mas i Hernandez <jordi@ximian.com>
7460 * DataGridTextBoxColumn.cs: fixed some members
7461 * GridColumnStylesCollection.cs: indexed column is case insensitive
7462 * DataGridTableStyle.cs: fixes
7463 * ThemeWin32Classic.cs: add new theme parameter
7464 * Theme.cs: add new theme parameter
7465 * DataGridDrawingLogic.cs: Datagrid's drawing logic
7466 * DataGrid.cs: fixes, new internal properties, etc.
7467 * DataGridColumnStyle.cs: allows to set grid value
7470 2005-05-10 Peter Bartok <pbartok@novell.com>
7472 * AccessibleObject.cs:
7473 - Removed MonoTODO attribute on help, method is correct
7474 - Fixed Bounds property
7475 * AxHost.cs: Moved MonoTODO
7476 * ButtonBase.cs: Now setting AccessibleObject properties
7477 * RadioButton.cs: Setting proper AccessibleObject role
7478 * CheckBox.cs: Setting proper AccessibleObject role
7479 * ControlBindingsCollection.cs: Added properties, methods and attributes
7480 * DataFormats.cs: Fixed awkward internal API, and changed to enable
7481 userdefined DataFormats.Format items as well
7482 * ListControl.cs: Removed data_member from the public eye
7483 * OpenFileDialog.cs:
7485 - Added missing attributes
7486 * SaveFileDialog.cs: Added missing attributes
7487 * ImageListStreamer.cs: Fixed code that caused warnings
7488 * LinkLabel.cs: Removed unreachable code
7489 * TreeView.cs: Fixed code that caused warnings
7490 * PropertyGridView.cs: Fixed code that caused warnings
7491 * GridColumnStylesCollection.cs: Added missing attributes
7492 * GridTableStylesCollection: Added missing attribute
7493 * PropertyManager: Added .ctor
7494 * SecurityIDType: Added
7495 * DataObject.cs: Implemented class
7496 * LinkArea.cs: Added missing attribute
7498 2005-05-11 Jordi Mas i Hernandez <jordi@ximian.com>
7500 * RadioButton.cs: call base method to allow to fire OnClick event
7501 * UpDownBase.cs: OnMouseUp call base method
7502 * CheckedListBox.cs: call base method before returning
7503 * TrackBar.cs: call base method before returning
7506 2005-05-10 Peter Bartok <pbartok@novell.com>
7508 * XplatUIX11.cs: Fix for #74902, check pending timers when peeking
7511 2005-05-10 Peter Bartok <pbartok@novell.com>
7513 * DataFormats.cs: Implemented
7514 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs,
7515 XplatUIX11.cs: Added Clipboard APIs
7516 * XplatUIWin32.cs: Implemented Clipboard APIs
7517 * FolderBrowserDialog.cs: Added missing event, attributes
7519 2005-05-10 Jordi Mas i Hernandez <jordi@ximian.com>
7521 * CheckBox.cs: call base method to allow to fire OnClick event
7523 2005-05-09 Sebastien Pouliot <sebastien@ximian.com>
7525 * XplatUI.cs: Use PlatformID.Unix under NET_2_0.
7527 2005-05-06 Peter Bartok <pbartok@novell.com>
7529 * XplatUIX11.cs: Redid Jackson's fix, it was causing a busy loop
7530 * Screen.cs: Implemented
7531 * HelpNavigator.cs: Added
7532 * XplatUIWin32.cs: Added SystemParametersInfo call, fixed WorkArea
7534 * HelpProvider.cs: Implemented all we can do until we have a CHM
7535 help library (which means that "What's This" does work now)
7537 2005-05-06 Jackson Harper <jackson@ximian.com>
7539 * XplatUIX11.cs: Fix waking up the main loop.
7541 2005-05-05 Peter Bartok <pbartok@novell.com>
7543 * XplatUI.cs: Updated revision
7544 * Form.cs: Removed enless loop
7545 * GroupBox.cs (OnPaint): Added call to base.OnPaint()
7546 * Label.cs (OnPaint): Added call to base.OnPaint()
7547 * ToolTip.cs: Made ToolTipWindow reusable for other controls
7548 * LinkLabel.cs (OnPaint): Added call to base.OnPaint()
7549 * UpDownBase.cs (OnPaint): Moved base.OnPaint() call to end of method
7551 * ButtonBase.cs: Moved base.OnPaint() call to end of method
7552 * ThemeWin32Classic.cs: Replaced references to ToolTip with references
7553 to ToolTip.ToolTipWindow for drawing and size methods; this allows
7554 reuse of ToolTipWindow by other controls
7555 * SizeGrip.cs: Moved base.OnPaint() call to end of method
7556 * XplatUIX11.cs: Now clipping drawing area (experimental)
7557 * PictureBox.cs: Moved base.OnPaint() call to end of method
7558 * Theme.cs: Fixed ToolTip abstracts to match new format
7559 * ErrorProvider.cs: Implemented
7561 2005-05-05 Jordi Mas i Hernandez <jordi@ximian.com>
7563 * Label.cs: fire events using OnAutoSizeChanged and OnTextAlignChanged
7567 - Implements LinkBehavior
7570 2005-05-03 Jackson Harper <jackson@ximian.com>
7572 * ListView.cs: Calculate the scrollbar positioning on resize and
7573 paint, so they get put in the correct place.
7575 2005-05-03 Alexander Olk <xenomorph2@onlinehome.de>
7577 * ColorDialogs.cs: The small color panels are now handled by
7578 SmallColorControl. This fixes drawing of the focus rectangle
7579 and adds a 3D border.
7581 2005-05-03 Peter Bartok <pbartok@novell.com>
7583 * Control.cs: Modified version of Jonathan Chamber's fix for
7586 2005-05-03 Jackson Harper <jackson@ximian.com>
7588 * ListView.cs: Remove redraw variable. Control now handles whether
7589 or not a redraw needs to be done, and will only raise the paint
7590 event if redrawing is needed.
7592 2005-05-03 Jackson Harper <jackson@ximian.com>
7594 * Splitter.cs: No decorations for the splitter form. Cache the
7597 2005-05-03 Jackson Harper <jackson@ximian.com>
7599 * TreeView.cs: Use dashed lines to connect nodes. Use the
7600 ControlPaint method for drawing the focus rect instead of doing
7603 2005-05-02 Peter Bartok <pbartok@novell.com>
7605 * LinkLabel.cs: Fixed the fixes from r43566 and 43521
7607 2005-04-29 Jackson Harper <jackson@ximian.com>
7609 * ThemeWin32Classic.cs: Don't clear the GC that will clear the
7610 entire image buffer. Just clear the clipping rectangle.
7612 2005-04-29 Jackson Harper <jackson@ximian.com>
7614 * ThemeWin32Classic.cs: Don't draw list view items that are
7615 outside the clipping rectangle.
7617 2005-04-29 Jordi Mas i Hernandez <jordi@ximian.com>
7619 * ListBox.cs: added horizontal item scroll
7621 2005-04-29 Jackson Harper <jackson@ximian.com>
7623 * ThemeWin32Classic.cs: Remove some old debug code that was
7624 causing flicker with the new double buffering code.
7626 2005-04-29 John BouAntoun <jba-mono@optusnet.com.au>
7628 * MonthCalendar.cs, DateTimePicker.cs: Made monthcalendar dropdwon
7629 behave like combobox and comboboxlist (still not sure if this is
7632 2005-04-28 Jackson Harper <jackson@ximian.com>
7634 * ThemeWin32Classic.cs: Don't fill the middle of progress
7635 bars. This fills areas outside of the clip bounds that don't need
7638 2005-04-28 Jackson Harper <jackson@ximian.com>
7640 * Control.cs: Don't expose functionality to touch the image buffers.
7642 * ListView.cs: We do not need to (and no longer can) manipulate
7643 the image buffers directly. All of this is handled by Control.
7645 2005-04-28 Peter Bartok <pbartok@novell.com>
7647 * RichTextBoxSelectionAttribute.cs, RichTextBoxSelectionTypes.cs,
7648 RichTextBoxScrollBars.cs, RichTextBoxStreamType.cs,
7649 RichTextBoxFinds.cs, RichTextBoxWordPunctuations.cs: Added
7651 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
7654 - Adjust control's height for non-simple comboboxes (bug fix)
7656 * MenuAPI.cs: remove unused var
7657 * ScrollBar.cs: remove unsed var
7659 * ListBox.cs: unselect items when clearing
7661 2005-04-28 Jordi Mas i Hernandez <jordi@ximian.com>
7663 * ListControl.cs: honors OnPositionChanged and default Selected Item
7664 * ListBox.cs: unselect items when clearing
7666 2005-04-27 Jackson Harper <jackson@ximian.com>
7668 * X11Keyboard.cs: Initialize a default keyboard and give a warning
7669 if a "correct" keyboard is not found. This will make us not crash,
7670 but might give some users bad keyboard layouts...seems to be the
7671 same thing rewind does.
7673 2005-04-27 Jackson Harper <jackson@ximian.com>
7675 * BindingManagerBase.cs: Attach the current/position changed
7676 handlers to their respective events.
7678 2005-04-27 Jackson Harper <jackson@ximian.com>
7680 * Control.cs: Make sure that the first WM_PAINT does a full draw,
7682 * ThemeWin32Classic.cs: Don't fill the background for picture
7683 boxes. This could overright user drawing.
7684 * ComboBox.cs: Just fill the clipping rect not the entire client
7685 rect when drawing the background. This prevents pieces of the
7686 image buffer from getting overwritten and is theoretically faster.
7688 2005-04-26 Jordi Mas i Hernandez <jordi@ximian.com>
7690 * ComboBox.cs: Databinding support fixes, fire missing events
7691 * ListControl.cs: implement missing methods and properties, fixes
7692 * ThemeWin32Classic.cs: Databiding support on Drawing
7693 * CheckedListBox.cs: Databinding support fixes, fire missing events
7694 * ListBox.cs: Databinding support fixes, fire missing events
7696 2005-04-25 Peter Bartok <pbartok@novell.com>
7698 * LinkLabel.cs: Length of LinkArea is not allowed to be negative
7700 2005-04-25 Jackson Harper <jackson@ximian.com>
7702 * TreeView.cs: Use the horizontal scrollbars height not width when
7703 determining how much of the client area is available.
7705 2005-04-25 Jackson Harper <jackson@ximian.com>
7707 * Control.cs: Double buffering is handled differently now. As per
7708 the spec, the extra buffer is created in the WM_PAINT message and
7709 passed down to the control's drawing code.
7717 * PropertyGridView.cs:
7729 * DateTimePicker.cs:
7731 * TreeView.cs: Update to new double buffering system.
7732 * MonthCalendar.cs: Uncomment block, as Capture is now
7733 working. Update to new double buffering
7734 * LinkLabel.cs: Lazy init the link collection. Update to new double buffering
7735 * PaintEventArgs.cs: New internal method allows us to set the
7736 graphics object. This is used for double buffering.
7737 * ThemeWin32Classic.cs: Give the picture box drawing code a clip
7738 rectangle. The internal paint_area var has been removed from
7739 StatusBar. The clipping rect should be used instead.
7740 * Theme.cs: Give the PictureBox drawing method a clipping rect.
7741 * TabPage.cs: The RefreshTabs method was removed, so just call the
7742 tab controls Refresh method now.
7743 * TabControl.cs: Update to new double buffering. Make sure the
7744 handle is created before sizing the tab pages, otherwise we will
7745 get stuck in a loop.
7747 2005-04-24 Borja Sanchez Zamorano <borsanza@gmail.com>
7749 * LinkLabel.cs: Fix typo, bug #74719; patch
7750 from Borja Sanchez Zamorano
7752 2005-04-22 Jackson Harper <jackson@ximian.com>
7754 * TreeNode.cs: Implement Handle stuff.
7755 * TreeView.cs: Utility methods so nodes can get/lookup by handle.
7757 2005-04-22 Jordi Mas i Hernandez <jordi@ximian.com>
7759 * DataGridTextBoxColumn.cs: call base constructors, fixes
7760 * GridColumnStylesCollection.cs: missing events, methods, and functionality
7761 * GridTableStylesCollection.cs: fixes, check duplicate mapping names
7762 * DataGridTableStyle.cs: implements create default column styles
7763 * DataGridBoolColumn.cs: which types can handle
7764 * DataGrid.cs: missing methods, fixes, new functionality
7765 * DataGridColumnStyle.cs: fixes
7767 2005-04-20 Alexander Olk <xenomorph2@onlinehome.de>
7768 * FolderBrowserDialog.cs:
7769 - Use a thread to fill the TreeView
7770 - Adjusted some sizes
7772 2005-04-19 Peter Bartok <pbartok@novell.com>
7774 * LinkLabel.cs: (Re-)create the pieces when setting the Text
7775 property. Fixes #74360.
7777 2005-04-19 Jackson Harper <jackson@ximian.com>
7779 * XEventQueue.cs: Lock when getting the lockqueue size.
7780 * PictureBox.cs: Call base OnPaint
7782 2005-04-19 Peter Bartok <pbartok@novell.com>
7784 * XplatUIX11.cs: Fixed bug introduced with the HWND rewrite, Async
7785 messages were no longer being processed (this broke BeginInvoke)
7788 2005-04-18 Jackson Harper <jackson@ximian.com>
7790 * TreeView.cs: buglet that caused node images to get drawn
7791 regardless of whether or not they were in the clipping rectangle.
7793 2005-04-18 Jackson Harper <jackson@ximian.com>
7795 * CurrencyManager.cs: There are four rules for GetItemProperties:
7796 - If the type is an array use the element type of the array
7797 - If the type is a typed list, use the type
7798 - If the list contains an Item property that is not an object, use
7800 - use the first element of the list if there are any elements in
7803 2005-04-17 Jackson Harper <jackson@ximian.oom>
7805 * TreeView.cs: Calculate plus minus and checkbox bounds when there is a
7806 click. This handles offsets for scrolling properly and reduces
7807 memory. Also fixed GetNode to not offset now that TopNode works
7809 * TreeNode.cs: No longer need to track the plus minus or checkbox bounds.
7811 2005-04-17 Jackson Harper <jackson@ximian.com>
7813 * CursorConverter.cs: Initial implementation.
7815 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
7817 * ListControl.cs: work towards complex data binding support on ListControl
7818 * CurrencyManager.cs: work towards complex data binding support on ListControl
7819 * ListBox.cs: work towards complex data binding support on ListControl
7822 2005-04-15 Jordi Mas i Hernandez <jordi@ximian.com>
7824 * GridTableStylesCollection.cs: fixes name and constructor
7825 * DataGridTableStyle.cs: fixes
7826 * DataGridBoolColumn.cs: fixes names and constructors
7827 * DataGrid.cs: define methods and properties. Some init implementations
7828 * DataGridCell.cs: define methods and properties. Some init implementations
7829 * GridTablesFactory.cs: Define methods and properties
7831 2005-04-15 Geoff Norton <gnorton@customerdna.com>
7833 * XplatUIOSX.cs: Handle proper mouse tracking even if the current
7834 graphics port changes. We still want the coordinates in global screen
7837 2005-04-14 Jackson Harper <jackson@ximian.com>
7839 * TreeView.cs: Handle clicks when plus minus is disabled. Don't
7840 check plus minus or checkbox clicks unless those features are enabled.
7842 2005-04-14 Jackson Harper <jackson@ximian.com>
7844 * TreeView.cs: Add methods for setting the top and bottom visible
7845 nodes. TreeNode::EnsureVisible uses these methods.
7846 * TreeNode.cs: Implement EnsureVisible
7848 2005-04-13 Jordi Mas i Hernandez <jordi@ximian.com>
7850 * Form.cs: Pospone menu assignation if the window has not been created yet
7851 * XplatUIWin32.cs: Fixes Win32SetWindowPos, then does not change window
7854 2005-04-12 Jackson Harper <jackson@ximian.com>
7856 * TreeView.cs: Set the TopNode properly when scrolling
7857 occurs. This has the added benifit of reducing the amount of
7858 walking that needs to be done when drawing. Also removed an old
7860 * OpenTreeNodeEnumerator.cs: Fix moving backwards.
7862 2005-04-11 Jordi Mas i Hernandez <jordi@ximian.com>
7864 * Timer.cs: fixes interval setting when the timer is already enabled
7866 2005-04-10 Alexander Olk <xenomorph2@onlinehome.de>
7868 * FolderBrowserDialog.cs: First approach
7870 2005-04-09 Peter Bartok <pbartok@novell.com>
7872 * FolderBrowserDialog: Added
7874 2005-04-07 Jordi Mas i Hernandez <jordi@ximian.com>
7876 * LinkLabel.cs: move drawing code into the theme
7877 * ThemeWin32Classic.cs: drawing code and painting background bugfix
7878 * Theme.cs: define DrawLinkLabel method
7880 2005-04-05 Jackson Harper <jackson@ximian.com>
7882 * BindingContext.cs: Use weak references so these bad actors don't
7883 stay alive longer then they need to.
7885 2005-04-05 Jackson Harper <jackson@ximian.com>
7887 * ListControl.cs: Basic implementation of complex databinding.
7889 * ListBox.cs: Add calls to ListControl databinding methods.
7891 2005-04-05 Alexander Olk <xenomorph2@onlinehome.de>
7894 - Don't change PopupButtonState to Normal when the
7895 PopupButton gets pressed several times.
7896 - Renamed ButtonPanel to PopupButtonPanel
7898 2005-04-05 Jordi Mas i Hernandez <jordi@ximian.com>
7900 * ColorDialog.cs: Use cached objects instead of creating them
7901 * LinkLabel.cs: Use cached objects instead of creating them
7902 * Splitter.cs: Use cached objects instead of creating them
7903 * FontDialog.cs: Use cached objects instead of creating them
7904 * PropertyGridView.cs: Use cached objects instead of creating them
7905 * MessageBox.cs: Use cached objects instead of creating them
7906 * FileDialog.cs: Use cached objects instead of creating them
7907 * ThemeWin32Classic.cs: Use cached objects instead of creating them
7908 * TreeView.cs: Use cached objects instead of creating them
7910 2005-04-04 Jordi Mas i Hernandez <jordi@ximian.com>
7912 * Control.cs: use Equals to compare the font since no == op
7913 * ScrollBar.cs: use Equals to compare the font since no == op
7915 2005-04-04 Alexander Olk <xenomorph2@onlinehome.de>
7917 * SaveFileDialog.cs: Open stream in OpenFile with FileMode Create
7919 2005-04-01 Jackson Harper <jackson@ximian.com>
7921 * Binding.cs: Implement IsBinding.
7922 * BindingManagerBase.cs:
7923 * PropertyManager.cs:
7924 * CurrencyManager.cs: Add IsSuspended property.
7926 2005-04-01 Jackson Harper <jackson@ximian.com>
7928 * Binding.cs: Had some IsAssignableFrom calls backwards.
7930 2005-04-01 Jackson Harper <jackson@ximian.com>
7932 * Binding.cs: Handle null data members when pulling data.
7933 * PropertyManager.cs: Handle the data member being a property that
7936 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
7938 * DataGridTextBoxColumn.cs: fixes signature
7939 * DataGrid.cs: calls right constructor
7941 2005-04-01 Jordi Mas i Hernandez <jordi@ximian.com>
7943 * DataGridTextBoxColumn.cs: implements DataGridTextBoxColumn class
7944 * GridColumnStylesCollection.cs: implements GridColumnStylesCollection
7945 * GridTableStylesCollection.cs: implements GridTableStylesCollection
7946 * DataGridTableStyle.cs: implements DataGridTableStyle
7947 * DataGridBoolColumn.cs: implements DataGridBoolColumn
7948 * DataGridTextBox.cs: implements DataGridTextBox
7949 * DataGridColumnStyle.cs: implements DataGridColumnStyle
7951 2005-03-31 Alexander Olk <xenomorph2@onlinehome.de>
7953 * FileDialog.cs: Added simple PopupButton class for ButtonPanel
7955 2005-03-29 Peter Bartok <pbartok@novell.com>
7958 - Properly implemented CompanyName property
7959 - Fixed LocalUserAppDataPath and UserAppDataPath, now properly
7960 returns a path that includes CompanyName, ProductName and
7961 Version (fixes bug #70330)
7963 2005-03-29 Stefan Buehler <sbuehler@gmx.ch>
7965 * TabPage.cs: Don't use Owner.DisplayRectangle unless owner is valid,
7968 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
7970 * FileDialog.cs, SaveFileDialog.cs OpenFileDialog.cs:
7972 - Added ReadOnly CheckBox
7973 - Further refactoring: moved some code from Open-/SaveFileDialog
7976 2005-03-28 Alexander Olk <xenomorph2@onlinehome.de>
7978 * OpenFileDialog.cs: Fixed CheckFileExists
7980 Moved FileView and DirComboBox outside FileDialog class.
7981 They can now be used outside FileDialog
7983 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
7985 * FileDialog.cs: Added a contextmenu to change ShowHiddenFiles
7986 * SaveDialog.cs, OpenFileDialog.cs: Fixes for Reset() method
7988 2005-03-27 Alexander Olk <xenomorph2@onlinehome.de>
7990 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
7991 - Added missing CreatePrompt property in SaveDialog
7992 - Overall SaveDialog handling should be better now
7993 - Added non standard ShowHiddenFiles property
7994 - Added extension, CreatePrompt and OverwritePrompt support in SaveDialog
7995 - Added InitialDirectory and RestoreDirectory support
7997 2005-03-26 Alexander Olk <xenomorph2@onlinehome.de>
7999 * FileDialog.cs: Made dirComboBox usable
8001 2005-03-24 Alexander Olk <xenomorph2@onlinehome.de>
8003 * FileDialog.cs: Added Filter support (case sensitiv)
8005 2005-03-24 Jackson Harper <jackson@ximian.com>
8007 * TabControl.cs: Need a couple more pixels for the lines.
8009 2005-03-23 Jackson Harper <jackson@ximian.com>
8011 * TabControl.cs: Give the tab page focus when it is selected.
8013 2005-03-23 Jackson Harper <jackson@ximian.com>
8015 * TabControl.cs: Account for the drawing of tabs borders when
8016 invalidating. If the slider was clicked dont do click detection on
8019 2005-03-23 Jackson Harper <jackson@ximian.com>
8021 * TabControl.cs: Fix typo, emilinates an unneeded expose event.
8023 2005-03-22 Jonathan Chambers <jonathan.chambers@ansys.com>
8025 * CategoryGridEntry.cs: Added
8026 * GridItem.cs: Added helper properties
8027 * PropertyGridTextBox.cs: Custom textbox control for PropertyGrid.
8028 * GridEntry.cs: Updated code for collection
8029 * PropertyGrid.cs: Cleaned up some formatting
8030 * PropertyGridView.cs: Added drop down functionality for enums.
8031 * GridItemCollection.cs: Added enumerator logic
8032 * PropertyGridEntry.cs: Added
8034 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
8037 - Removed unnecessary commented code
8038 - Fixed handling for entering the filename manually in the combobox
8040 2005-03-19 Alexander Olk <xenomorph2@onlinehome.de>
8042 * FileDialog.cs, OpenFileDialog.cs: OpenFileDialog Multiselect now works
8044 2005-03-18 Peter Bartok <pbartok@novell.com>
8046 * ThemeWin32Classic.cs: Moved listview column headers a bit, to avoid
8047 them being touching the border
8049 2005-03-18 Peter Bartok <pbartok@novell.com>
8051 * TextControl.cs: Quick hack to center text better
8053 2005-03-18 Peter Bartok <pbartok@novell.com>
8056 - Don't throw NotImplemented exceptions, just print a notice once
8057 instead (requested by Miguel). This makes running existing SWF
8060 - Commented out Drag'N'Drop XplatUI call (no driver support yet)
8061 - Added context menu trigger on right click
8062 * Panel.cs: Trigger invalidate on resize
8064 - Removed old double-buffer drawing
8065 - Added ResizeRedraw style to force proper update of statusbar
8067 - Removed debug output
8068 * ThemeWin32Classic.cs:
8069 - Fixed drawing of status bar, now draws Text property if there
8070 are no defined panels
8072 2005-03-18 Jackson Harper <jackson@ximian.com>
8074 * ImageList.cs: When the image stream is set pull all the images
8076 * ImageListStreamer.cs: Implement reading image list streams.
8078 2005-03-18 Peter Bartok <pbartok@novell.com>
8080 * ThemeWin32Classic.cs (DrawPictureBox):
8081 - Fixed calculations for centered drawing
8082 - Fixed drawing for normal mode, not scaling the image on normal
8084 2005-03-18 Peter Bartok <pbartok@novell.com>
8086 * ComboBox.cs: Now also firing the OnKeyPress events for the embedded
8089 - Made Open/Save button the accept button for FileDialog
8090 - Tied the cancel button to the IButtonControl cancel button
8091 - Save/Open now properly builds the pathname
8092 - Now handles user-entered text
8093 - Preventing crash on right-click if no item is selected
8094 - Fixed Text property, now uses contents of textbox
8095 - Fixed SelectedText property, now just returns the text part that
8096 is selected in the text box
8098 2005-03-18 Jackson Harper <jackson@ximian.com>
8100 * ThemeWin32Classic.cs: Use the proper func for drawing the focus
8101 rect, make sure to de-adjust the interior rect after drawing the
8104 2005-03-18 Peter Bartok <pbartok@novell.com>
8106 * MenuAPI.cs: Remove menu *before* executing selected action to
8107 prevent the menu from 'hanging around'
8109 2005-03-17 Geoff Norton <gnorton@customerdna.com>
8111 * XplatUIOSX.cs: Implemented WorkingArea property
8113 2005-03-17 Peter Bartok <pbartok@novell.com>
8115 * XplatUIX11.cs: Fixed menu coord calculations
8116 * MenuAPI.cs: Now using new ScreenToMenu()/MenuToScreen() methods
8117 for calculating offsets
8119 2005-03-17 Peter Bartok <pbartok@novell.com>
8121 * Hwnd.cs: Do not consider menu presence for default client
8122 rectangle location/size
8123 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs, XplatUIOSX.cs,
8124 XplatUIWin32.cs: Added MenuToScreen() and ScreenToMenu() coord
8125 translation functions
8126 * FileDialog.cs: Fixed (what I presume is a) typo
8128 2005-03-17 Jonathan Gilbert <logic@deltaq.org>
8130 * XplatUIX11.cs: Added call to XInitThreads() to allow multi-threaded
8131 X access (avoids X-Async errors)
8133 2005-03-16 Jackson Harper <jackson@ximian.com>
8135 * TabControl.cs: Raise the SelectedIndexChanged event.
8137 2005-03-16 Alexander Olk <xenomorph2@onlinehome.de>
8139 * FileDialog.cs, OpenFileDialog.cs, SaveFileDialog.cs:
8140 - Removed vertical ToolBar and replaced it with a custom panel
8141 (desktop and home button already work)
8142 - Added Help button (some controls get resized or relocated then)
8143 - Draw correct text depending on Open or Save.
8144 - Fixed some typos...
8146 2005-03-16 Jordi Mas i Hernandez <jordi@ximian.com>
8149 - Only change Maximum and Minimum when need it (bug fix)
8151 2005-03-15 Peter Bartok <pbartok@novell.com>
8153 * Form.cs: Use Handle for icon, to trigger creation if
8154 the window does not yet exist
8156 - CanSelect: Slight performance improvement
8157 - Focus(): Preventing possible recursion
8158 - Invalidate(): Removed ControlStyle based clear flag setting
8159 - WM_PAINT: fixed logic for calling OnPaintBackground
8160 - WM_ERASEBKGND: Fixed logic, added call to new driver method
8161 EraseWindowBackground if the control doesn't paint background
8163 - Moved EraseWindowBackground() method to internal methods
8164 - Removed unused WM_ERASEBKGND handling in GetMessage; msg never comes;
8165 is sent via SendMessage on BeginPaint call on Win32
8167 - Added EraseWindowBackground() method
8168 - No longer sends WM_ERASEBKGND on .Expose, but on call to
8169 PaintEventStart, which more closely matches Win32 behaviour
8170 - Fixed Invalidate() call, now updates new ErasePending Hwnd property
8171 - Fixed SetFocus() to properly deal with client and whole windows
8172 * Hwnd.cs: Added ErasePending property
8173 * XplatUIOSX.cs: Stubbed EraseWindowBackground() method
8174 * XplatUI.cs, XplatUIDriver.cs: Added EraseWindowBackground() method
8176 2005-03-12 Geoff Norton <gnorton@customerdna.com>
8179 - Fix hard loop when timers exist.
8180 - Fix bugs with middle and right click for 3 button mice.
8182 2005-03-11 Peter Bartok <pbartok@novell.com>
8185 - get_WorkingArea: Need to call X directly, GetWindowPos only
8186 returns cached data now
8187 - Added sanity check to GetWindowPos hwnd usage
8189 2005-03-11 Jackson Harper <jackson@ximian.com>
8191 * BindingManagerBase.cs: This method isn't used anymore as
8192 PullData now updates the data in the control.
8194 2005-03-11 Jordi Mas i Hernandez <jordi@ximian.com>
8196 * Form.cs: fixes menu drawing on X11
8197 * MenuAPI.cs: fixes menu drawing on X11
8199 2005-03-11 Peter Bartok <pbartok@novell.com>
8201 * Control.cs: Changed OnCreateControl behaviour based on a suggestion
8202 from Jonathan Gilbert; should fix bug #73606
8203 * XplatUIX11.cs: Fixed NC Mouse message coordinates, they need to be
8204 in Screen coordinates. Thanks, Jordi.
8205 * Form.cs: Added missing attribute
8207 2005-03-11 Peter Bartok <pbartok@novell.com>
8210 - Rudimentary Mdi support
8211 - Removed outdated FormParent code
8212 - Implemented lots of missing properties and methods, still missing
8213 transparency support
8214 - Added missing attributes
8215 - Implemented support for MaximumBounds
8216 - Added firing of various events
8217 * XplatUI.cs: Added SetIcon() method
8218 * XplatUIDriver.cs: Added SetIcon() abstract
8219 * XplatUIOSX.cs: Stubbed out SetIcon() method
8221 - Implemented SetIcon() support
8222 - Moved SetMenu() and SetBorderStyle() to proper alphabetical pos
8223 - Switched to unix line endings
8225 - Made POINT internal so for can access it as part of MINMAX
8226 - Implemented SetIcon() support
8227 - Implemented support for CLIENTCREATESTRUCT (but might have to drop
8228 native Mdi support again, might have to go managed)
8229 * Control.cs: Now fires the StyleChanged event
8230 * MdiClient.cs: Added; still mostly empty
8232 2005-03-10 Peter Bartok <pbartok@novell.com>
8234 * SaveFileDialog.cs: Added emtpy file
8236 2005-03-08 Peter Bartok <pbartok@novell.com>
8238 * Control.cs: Fixed bug #73190; now invokes CreateControl (which
8239 in turn triggers OnCreateContro) when creating a handle for the
8241 * TextControl.cs: Fixed endless loop in certain cases when
8242 replacing the current selection
8244 2005-03-08 Jordi Mas i Hernandez <jordi@ximian.com>
8247 - Honors NewValue changes in Scroll events allowing apps to change it
8248 - Adds First and Last Scroll events
8249 - Fixes Thumb events
8251 2005-03-07 Peter Bartok <pbartok@novell.com>
8253 * Hwnd.cs: Added DefaultClientRectangle property
8254 * XplatUI.cs: Now using the X11 driver Where() method, which provides
8255 more detailed debug information
8257 - Fixed size-change feedback loop, where we would pull an old size
8258 off the queue and mistakenly change our window's size to an
8260 - Now compressing ConfigureNotify events, to reduce looping and
8262 * TextBoxBase.cs: Preventing crash when no text is set and ToString()
8265 2005-03-07 Jackson Harper <jackson@ximian.com>
8267 * Binding.cs: Push data pushes from data -> property. Check if the
8268 property is readonly when attempting to set it.
8270 2005-03-07 Jackson Harper <jackson@ximian.com>
8272 * Binding.cs: Format and parse data correctly. Use ASsignableFrom
8273 instead of IsSubclassOf. Pulling data now sets the value on the
8275 * PropertyManager.cs:
8276 * CurrencyManager.cs: Just need to pull data when updating now,
8277 because PullData will set the value on the control.
8279 2005-03-04 Jackson Harper <jackson@ximian.com>
8281 * Binding.cs: Implement data type parsing and converting on pulled
8282 data. TODO: Are there more ways the data can be converted?
8284 2005-03-04 Jackson Harper <jackson@ximian.com>
8286 * Binding.cs: Support <Property>IsNull checks. Also bind to the
8287 controls Validating method so we can repull the data when the
8288 control loses focus.
8290 2005-03-03 Jordi Mas i Hernandez <jordi@ximian.com>
8293 - Fixes null string format
8296 - Adds enum type checks
8297 - Fixes redrawing and recalc need after changing some properties
8298 - Fixes on focus_item set after the event
8299 - Fixes adding columns after the control has been created
8301 * ThemeWin32Classic.cs:
8302 - Fixes CheckBox focus rectangle
8303 - Fixes ColumnHeader drawing
8306 2005-03-03 Jackson Harper <jackson@ximian.com>
8308 * Binding.cs: Bind to <Property>Changed events so we can detect
8309 when properties are changed and update the data.
8311 2005-03-02 Jordi Mas i Hernandez <jordi@ximian.com>
8314 - Changes 32-bit pixel format to Format32bppArgb to allow transparency
8315 - Fixes ImageList constructor with ImageList container
8316 - Fixes image scaling (wrong parameters at DrawImage)
8318 2005-02-02 Jackson Harper <jackson@ximian.com>
8320 * Binding.cs: Make property searches case-insensitive. Eliminate
8321 some duplicated code.
8323 2005-03-01 Jordi Mas i Hernandez <jordi@ximian.com>
8326 - Handle focus event
8327 - Fix scrollbar events
8328 - Discard highlighted item if remove it
8329 - Fixes SelectedItem with strings
8331 2005-03-01 Peter Bartok <pbartok@novell.com>
8334 - Fixed Visible property, now follows (once again) parent chain
8335 to return false if any control in the chain is visible=false
8336 - Fixed OnParentVisibleChanged, now just calls OnVisibleChanged event
8337 - Fixed several places where is_visible instead of Visible was used
8338 - Implemented FIXME related to focus selection when setting focused
8339 control to be invisible
8341 * XplatUIWin32.cs: Now using proper method to find out if window is
8342 visible. Thanks to Jordi for pointing it out
8344 2005-02-28 Jordi Mas i Hernandez <jordi@ximian.com>
8346 * ComboBox.cs: show/hide scrollbar instead of creating it
8348 2005-02-27 Jackson Harper <jackson@ximian.com>
8350 * CurrencyManager.cs: Add PositionChanged stuff.
8352 2005-02-27 Peter Bartok <pbartok@novell.com>
8354 * XplatUI.cs, XplatUIDriver.cs: Added new GetMenuOrigin() method
8355 * XplatUIOSX.cs: Added GetMenuOrigin() stub
8356 * XplatUIWin32.cs: Implemented GetMenuOrigin()
8358 - Implemented GetMenuDC()
8359 - Implemented GetMenuOrigin()
8360 - Implemented ReleaseMenuDC()
8361 - Implemented generation of WM_NCPAINT message
8362 - Implemented generation and handling of WM_NCCALCSIZE message
8363 * Form.cs: Added debug helper message for Jordi's menu work
8365 - Modified ClientRect property; added setter, fixed getter to handle
8366 setting of ClientRect
8367 - Added MenuOrigin property
8369 2005-02-26 Peter Bartok <pbartok@novell.com>
8372 - Destroys the caret if a window that's being destroyed contains it
8373 - Ignores expose events coming from the X11 queue for windows that
8374 already are destroyed
8375 - Now uses the proper variable for handling DestroyNotify, before we
8376 marked the wrong window as destroyed
8377 - Improved/added some debug output
8379 2005-02-26 Peter Bartok <pbartok@novell.com>
8381 * X11Keyboard.cs: Fixes to work on 64bit systems
8383 2005-02-26 Peter Bartok <pbartok@novell.com>
8386 - Now calling OnHandleDestroyed from DestroyHandle()
8387 instead of Dispose()
8388 - Removed bogus call to controls.Remove() from DestroyHandle()
8390 2005-02-26 Peter Bartok <pbartok@novell.com>
8392 * Control.cs: Properly destroy child windows when our handle is
8395 2005-02-25 Peter Bartok <pbartok@novell.com>
8398 - Added 'DriverDebug' define to allow tracing XplatUI API calls
8399 - Alphabetized Static Methods and Subclasses
8402 - Added XException class to allow custom handling of X11 exceptions
8403 - Created custom X11 error handler, tied into XException class
8404 - Added support for MONO_XEXCEPTIONS env var to allow the user
8405 to either throw an exception on X errors or continue running
8406 after displaying the error
8407 - Added handling of DestroyNotify message
8408 - Added handler for CreateNotify message (still disabled)
8409 - Improved (tried to at least) Where method to provide file and lineno
8411 - Added XErrorHandler delegate
8412 - Added XRequest enumeration (to suppor translation of errors)
8414 2005-02-25 Jackson Harper <jackson@ximian.com>
8416 * PropertyManager.cs: Implement editing features
8417 * CurrencyManager.cs:
8418 * Binding.cs: First attempt at UpdateIsBinding
8419 * BindingManagerBase.cs: Call UpdateIsBinding before
8420 pushing/pulling data.
8422 2005-02-25 Jordi Mas i Hernandez <jordi@ximian.com>
8424 * MenuAPI.cs: Respect disabled items
8425 * ThemeWin32Classic.cs
8426 - Caches ImageAttributes creation for DrawImageDisabled
8427 - Fixes vertical menu line drawing
8428 - Draws disabled arrows in disable menu items
8430 2005-02-24 Peter Bartok <pbartok@novell.com>
8433 - Added UserData property to allow associating arbitrary objects
8435 - Fixed leak; now removing Hwnd references from static windows array
8437 - Fixed Graphics leak in PaintEventEnd
8438 - Removed usage of HandleData, switched over to Hwnd class
8439 * HandleData.cs: Removed, obsoleted by Hwnd.cs
8441 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
8443 * ThemeWin32Classic.cs: Adds Cliping to TrackBar drawing
8444 * ScrollBar.cs: Fixes bug
8445 * TrackBar.cs: removes death code, clipping, mimize refreshes,
8446 keyboard navigation enhancements
8448 2005-02-24 Jordi Mas i Hernandez <jordi@ximian.com>
8450 * Control.cs: Call DefWndProc at WM_PAINT only if UserPaint not defined
8451 * GroupBox.cs: Add control styles
8452 * Label.cs: Add control styles
8453 * UpDownBase.cs: Add control styles
8454 * ListBox.cs: Add control styles
8455 * XplatUIWin32.cs: Fixes wrong parameter order
8458 2005-02-23 Chris Bacon <chris.bacon@docobo.co.uk>
8460 * ListView.cs: Assign owner for ColumnHeader. Patch by Chris Bacon
8462 2005-02-23 Jackson Harper <jackson@ximian.com>
8464 * PropertyManager.cs: Implement property binding. This doesn't
8465 seem to work yet though as (I think) there are some bugs in
8466 System.ComponentModel.PropertyDescriptor.
8467 * BindingContext.cs: Use new PropertyManager constructor.
8469 2005-02-23 Jordi Mas i Hernandez <jordi@ximian.com>
8471 * ProgressBar.cs: use clip region in ProgressBar
8472 * ThemeWin32Classic.cs: use clip region in ProgressBar
8474 2004-02-22 Jackson Harper <jackson@ximian.com>
8476 * BindingsCollection.cs: Remove some debug code.
8478 2005-02-22 Jackson Harper <jackson@ximian.com>
8480 * BindingContext.cs:
8481 * ControlBindingsCollection.cs:
8482 * CurrencyManager.cs:
8484 * BindingManagerBase.cs: Initial implementation
8485 * BindingsCollection.cs: Add an internal contains method that the
8486 BindingManagerBase uses to ensure bindings aren't added twice to
8488 * PropertyManager.cs: Stubbed out.
8490 * ContainerControl.cs: Hook up databinding
8492 2005-02-22 Geoff Norton <gnorton@customerdna.com>
8495 OSXStructs.cs: Refactored to handle the new Hwnd NC logic area.
8496 Fixed Invalidate/Update chain.
8497 Fixed tons of other minor bugs (this is almost a complete rewrite).
8499 2005-02-22 Jordi Mas i Hernandez <jordi@ximian.com>
8501 * ComboBox.cs: do subcontrol creation when the control is created
8503 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
8505 * Label.cs: fixes image drawing (image and imagelist)
8506 * ThemeWin32Classic.cs: cache brushes
8508 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
8510 * Form.cs: Move menu drawing code to Theme class
8511 * ComboBox.cs: Move ComboBox drawing code to Theme class
8512 * MenuItem.cs: Move menu drawing code to Theme class
8513 * MenuAPI.cs: Move menu drawing code to Theme class
8514 * ThemeWin32Classic.cs: New methods
8515 * CheckedListBox.cs: Move CheckedListbox drawing code to Theme class
8516 * ListBox.cs: Move Listbox drawing code to Theme class
8517 * Theme.cs: New methods
8519 2005-02-20 Peter Bartok <pbartok@novell.com>
8522 - Fixed ProcessKeyEventArgs to also handle WM_SYSKEY messages (and
8523 only process mnemonics on those)
8524 - Fixed event sequence for key handling; first calling
8525 ProcessKeyEventArgs now
8527 - Removed WM_KEYDOWN hook, instead we now use ProcessDialogKey()
8528 for processing non-character keys
8529 - Fixed WM_CHAR to generate proper event sequence before processing
8530 * XplatUIWin32.cs: Added ALT key state to ModifierKeys property
8533 2005-02-19 Peter Bartok <pbartok@novell.com>
8535 * UserControl.cs: Added TextChanged event; added attributes
8536 * SizeGrip.cs: Implemented resizing and optional display of grip
8537 * Form.cs: Fixed attribute
8538 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs:
8539 Changed meaning of ScrollWindow bool argument; instead of the
8540 clear attribute (which will be true usually anyway), it gives the
8541 option of moving child controls as well.
8543 - Changed to match new ScrollWindow argument
8544 - Fixed GetWindowPos/SetWindowPos behaviour for toplevel controls,
8545 now handles the implicit parent window a WM puts around us
8546 * ScrollableControl.cs: Implemented (not the prettiest, but it seems
8548 * TextBoxBase.cs: Adjusted to new ScrollWindow arguments
8549 * TreeView.cs: Adjusted to new ScrollWindow arguments
8551 2005-02-19 Jordi Mas i Hernandez <jordi@ximian.com>
8553 * Form.cs: Menu integration with non-client area
8554 * MenuItem.cs: Menu integration with non-client area
8555 * MenuAPI.cs: Menu integration with non-client area
8557 2005-02-18 Peter Bartok <pbartok@novell.com>
8559 * MethodInvoker.cs: Added
8560 * MdiLayout.cs: Added
8561 * SendKeys.cs: Started implementation
8562 * ErrorIconAlignment.cs: Added
8564 2005-02-18 Peter Bartok <pbartok@novell.com>
8566 * XplatUIWin32.cs: Implemented SetMenu(); fixed GetMenuDC()
8567 * Form.cs: Added handling for Menu-related Non-client messages
8569 2005-02-17 Peter Bartok <pbartok@novell.com>
8571 * UpDownBase.cs: Fixed typo, compilation errors
8572 * DomainUpDown.cs: Fixed attribute value
8574 2005-02-16 Miguel de Icaza <miguel@novell.com>
8576 * UpDownBase.cs: Attach entry events.
8578 Add ForeColor property, Focused, InterceptArrowKeys (interception
8581 2005-02-17 Jordi Mas i Hernandez <jordi@ximian.com>
8584 - Redraw non client are on Setmenu
8585 - Calc proper menu starting point
8587 2005-02-17 Peter Bartok <pbartok@novell.com>
8589 * Application.cs: Fixed message_filter check
8591 2005-02-17 Peter Bartok <pbartok@novell.com>
8593 * Application.cs: Now calls registered message filters
8594 * DockStyle.cs: Fixed attribute
8595 * Form.cs: Fixed attribute
8596 * Menu.cs: Fixed attribute
8597 * ToolTip.cs: Fixed attribute
8598 * TreeNode.cs: Added missing attributes and arranged in regions
8599 * PropertyGrid.cs: Fixed signatures
8600 * TreeNodeCollection.cs: Added attributes
8601 * Splitter.cs: Added missing attributes; arranged into regions
8602 * TabPage.cs: Added missing attributes; arranged into regions
8603 * TextBoxBase.cs: Added missing attributes
8604 * TextBox.cs: Added missing attributes
8605 * ArrangeDirection.cs: Added missing attributes
8606 * TreeNodeConverter.cs: Added stub (needed for TreeNode)
8607 * ToolBarButton.cs: Fixed attributes
8608 * AnchorStyles.cs: Fixed attribute
8609 * TrackBar.cs: Fixed attributes
8610 * TabControl.cs: Added missing attributes and arranged into regions
8611 * ToolBar.cs: Fixed attribute
8612 * StatusBar.cs: Fixed signature, organized into regions and added
8614 * StatusBarPanel.cs: Fixed attributes
8615 * ContentsResizedEventArgs.cs: Implemented
8616 * ContentsResizedEventHandler.cs: Implemented
8617 * DateBoldEventArgs.cs: Implemented
8618 * DateBoldEventHandler.cs: Implemented
8619 * UpDownEventArgs.cs: Implemented
8620 * UpDownEventHandler.cs: Implemented
8622 2005-02-16 Jordi Mas i Hernandez <jordi@ximian.com>
8624 * Form.cs: first Menu NC refactoring
8625 * MenuAPI.cs: first Menu NC refactoring
8627 2005-02-16 Peter Bartok <pbartok@novell.com>
8629 * ImeMode.cs: Added missing attributes
8630 * Menu.cs: Fixed attribute
8631 * GroupBox.cs: Fixed attribute
8632 * Label.cs: Fixed attribute
8633 * ColorDialog.cs (RunDialog): Removed TODO attribute
8634 * ComboBox.cs: Fixed attributes
8635 * ListControl.cs: Added missing attributes
8636 * PropertyGrid.cs: Fixed attributes
8637 * Control.cs: Fixed attributes
8638 * ListViewItem.cs: Added TypeConverter attribute
8639 * NotifyIcon.cs: Fixed attributes
8640 * ListView.cs: Fixed attributes
8641 * ButtonBase.cs: Fixed attribute
8642 * ImageList.cs: Added missing attributes
8643 * ContainerControl.cs: Fixed signature
8644 * CheckedListBox.cs: Fixed attribute; added missing attributes
8645 * Panel.cs: Fixed attributes
8646 * PropertyTabChangedEventArgs.cs: Added missing attribute
8647 * PropertyValueChangedEventArgs.cs: Added missing attribute
8648 * Binding.cs: Fixed attribute
8649 * ListViewItemConverter: Implemented ListViewSubItemConverter class
8650 * ListBox.cs: Fixed attribute; added missing attributes;
8651 * ScrollableControl.cs: Added missing attributes
8652 * PictureBox.cs: Added missing attributes; implemented missing property
8653 * DateTimePicker.cs: Added missing attributes
8654 * Theme.cs (ToolWindowCaptionHeight): Fixed type
8655 * MonthCalendar.cs: Fixed attributes
8656 * StatusBarPanel.cs: Added missing attributes
8657 * SystemInformation.cs (ToolWindowCaptionHeight): Fixed type
8659 2005-02-16 Peter Bartok <pbartok@novell.com>
8661 * TextBoxBase.cs: The previous method to enforce height yet remember
8662 the requested high was less than ideal, this is an attempt to do
8664 * Control.cs: Added comment about possible problem
8665 * Copyright: Updated format
8666 * GridItemType.cs: Fixed swapped values
8668 2005-02-15 Jackson Harper <jackson@ximian.com>
8670 * BaseCollection.cs: Use property so we never access an
8671 uninitialized list. Also initialize the list in the property.
8673 2005-02-15 Peter Bartok <pbartok@novell.com>
8675 * GroupBox.cs (ProcessMnemonic): Implemented
8676 * Label.cs (ProcessMnemonic): Implemented
8677 * ThemeWin32Classic.cs (DrawGroupBox): Added stringformat to show
8680 2005-02-15 Peter Bartok <pbartok@novell.com>
8682 * RadioButton.cs (ProcessMnemonic): Implemented
8683 * CheckBox.cs (ProcessMnemonic): Implemented
8685 - Added handling of WM_SYSxxx keyboard messages to support mnemonic
8687 - Added internal method to allow calling ProcessMnemonic from other
8689 * ContainerControl.cs:
8690 - Started support for handling validation chain handling
8691 - Implemented ProcessMnemonic support
8692 - Added Select() call to Active, to make sure the active control
8694 * Form.cs: Setting toplevel flag for Forms (this was lost in the
8696 * ThemeWin32Classic.cs:
8697 - DrawCheckBox(): Fixed stringformat to show hotkeys
8698 - DrawRadioButton(): Fixed stringformat to show hotkeys
8699 * CommonDialog.cs: Removed WndProc override, not needed
8701 2005-02-14 Peter Bartok <pbartok@novell.com>
8703 * XplatUIX11.cs: Fixed NotImplemented exceptions for properties,
8704 missed those in the rewrite
8706 2005-02-14 Miguel de Icaza <miguel@novell.com>
8708 * NumericUpDown.cs (Increment, ToString): Add.
8709 (DecimalPlaces): implement.
8713 * UpDownBase.cs: Add the designer attributes.
8715 2005-02-13 Peter Bartok <pbartok@novell.com>
8717 * Panel.cs: Removed border_style, now in Control
8718 * XplatUIDriver.cs: Added SetBorderStyle, SetMenu, GetMenuDC and
8719 ReleaseMenuDC Methods; renmaed ReleaseWindow to UngrabWindow
8721 2005-02-13 Peter Bartok <pbartok@novell.com>
8723 * MouseButtons.cs: Added missing attributes
8724 * XplatUIStructs.cs: Added enumeration for title styles
8725 * LeftRightAlignment.cs: Added missing attributes
8726 * Hwnd.cs: Switched to use client_window as handle (slower, but makes
8727 it compatible with Graphics.FromHwnd()
8728 * SelectedGridItemChangedEventArgs.cs: Fixed property type
8729 * Keys.cs: Added missing attributes
8730 * SelectionRange.cs: Added missing attributes
8731 * SelectionRangeConverter.cs: Added
8733 - Introduced SetBorderStyle, SetMenu, GetMenuDC and
8734 ReleaseMenuDC methods
8735 - Renamed ReleaseWindow to UngrabWindow
8736 - Added proper startup notice to allow version identification
8738 - Added missing attributes
8739 - Removed FormParent concept
8740 * Label.cs: Removed border_style field, now in Control
8741 * RadioButton.cs: Now properly selects RadioButton when focus is
8743 * ThemeGtk.cs: Fixed SetDisplay call to match new X11 behaviour
8745 - Added missing attributes
8746 - Added borderstyle handling
8747 - Removed FormParent concept support
8748 - Fixed calls to XplatUI to match changed APIs
8749 - Fixed bug that would case us to use disposed Graphics objects
8750 - Removed unneeded internal methods
8751 - PerformLayout(): Fixed to handle DockStyle.Fill properly
8752 - SelectNextControl(): Fixed to properly check common parents
8753 * TextBoxBase.cs: Removed border_style field (now in Control)
8755 - Patch by Robert Thompson (rmt@corporatism.org): Added icon support,
8756 fixed calculations for form size
8757 - Added support for localized strings and icons
8758 - Improved form size calculations, added border
8759 * ListView.cs: Removed border_style field (now in Control)
8760 * X11Structs.cs: Moved several structs from X11 driver here
8761 * X11Keyboard.cs: Changed debug message
8762 * Application.cs: Removed FormParent concept support
8764 - Resetting end_modal flag
8765 - Removed FormParent concept support
8766 * NativeWindow.cs: Removed FormParent concept support
8767 * XplatUIX11.cs: Rewritten, now using the new Hwnd class, implementing
8768 Client area and Non-Client whole window to allow support for WM_NC
8770 * XplatUIOSX.cs: Updated to match latest driver spec; added exception
8771 prevent using it until it supports Hwnd as per Geoff Norton's request
8772 * ToolBar.cs: Fixed drawing, was not doing proper drawing
8773 * PictureBox.cs: Removed border_style field, now in Control
8774 * XplatUIWin32.cs: Added new driver methods
8776 2005-02-12 Peter Bartok <pbartok@novell.com>
8778 * OpacityConverter.cs: Implemented
8779 * Hwnd.cs: Internal class to support drivers that need to emulate
8780 client area/non-client area window behaviour
8782 2005-02-11 Peter Bartok <pbartok@novell.com>
8784 * KeysConverter.cs: Implemented
8786 2005-02-11 Jordi Mas i Hernandez <jordi@ximian.com>
8788 * Menu.cs: fixes methods GetContextMenu, GetMainMenu, ToString
8789 * LinkLabel: Added missing attributes
8790 * MainMenu.cs: fixes ToString
8791 * MenuItem.cs: fixes methods GetContextMenu, GetMainMenu
8792 * ListBox.cs: fixes event position
8793 * TrackBar.cs: adds missing attributes and events
8795 2005-02-10 Jordi Mas i Hernandez <jordi@ximian.com>
8797 * MenuItem.cs: Use SystemInformation and bug fixes
8798 * MenuAPI.cs: Use SystemInformation and bug fixes
8800 2005-02-09 Jackson Harper <jackson@ximian.com>
8802 * X11Keyboard.cs: We ignore some keys, but still need to set/reset
8803 their keystate otherwise things like VK_MENU get stuck "on".
8805 2005-02-09 Kazuki Oikawa <kazuki@panicode.com>
8807 * ListBox.cs: Fixes AddRange bug
8809 2005-02-09 Jordi Mas i Hernandez <jordi@ximian.com>
8812 - Add missing attributes
8813 - Add missing method
8815 * CheckedListBox.cs: Added missing attributes
8816 - Add missing attributes
8817 - Remove extra method
8819 * ComboBox.cs: Added missing attributes
8820 * VScrollBar.cs: Added missing attributes
8821 * ScrollBar.cs: Added missing attributes
8822 * ListBox.cs: Fixes signature, add missing consts
8823 * LinkArea.cs: Added missing attributes
8826 2005-02-08 Peter Bartok <pbartok@novell.com>
8828 * Menu.cs: Added missing attributes
8829 * MainMenu.cs: Added missing attributes
8830 * GroupBox.cs: Added missing attributes
8831 * Label.cs: Added missing attributes
8832 * CheckBox.cs: Implemented CheckBoxAccessibleObject class
8834 - Added Instance and Options properties
8835 - Added missing attributes
8836 * Cursor.cs: Made Serializable
8837 * NotifyIcon: Added missing attributes
8838 * MenuItem.cs: Added missing attributes
8839 * TextBoxBase.cs: Implemented AppendText() and Select() methods
8840 * Panel.cs: Added Missing attributes
8841 * MonthCalendar.cs: Fixed CreateParams
8843 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
8847 - Fixes issues with links
8848 - Adds the class attributes
8850 2005-02-08 Jordi Mas i Hernandez <jordi@ximian.com>
8853 - Fixes button when no items available in dropdown
8854 - Fixes repainting problems
8855 - Adds the class attributes
8857 2005-02-07 Geoff Norton <gnorton@customerdna.com>
8859 * XplatUIOSX.cs: Detect the menu bar and title bar height from
8860 the current theme. Cache these on startup.
8862 2005-02-07 Jackson Harper <jackson@ximian.com>
8864 * ScrollBar.cs: Give the correct clipping rect to the theme. Dirty
8865 the scrollbar buttons when they are depressed.
8867 2005-02-07 Geoff Norton <gnorton@customerdna.com>
8869 * XplatUIOSX.cs: Really fix working at resolutions not 1024x768.
8870 Get the display size from the main displayid. We currently dont
8871 support multiple display configurations.
8873 2005-02-07 Geoff Norton <gnorton@customerdna.com>
8875 * XplatUIOSX.cs: Ensure the window doesn't get stuck behind the statusbar.
8877 2005-02-07 Miguel de Icaza <miguel@novell.com>
8879 * UpDownBase.cs: Add ReadOnly and UpDownAlign properties.
8881 2005-02-05 Jonathan Chambers <jonathan.chambers@ansys.com>
8883 * PropertyGrid.cs: Updated. Patch by Jonathan Chambers
8885 2005-02-04 Jackson Harper <jackson@ximian.com>
8887 * ThemeWin32Classic.cs: Respect the clipping rect when
8888 drawing. Only fill the intersection of clips and rects so there
8889 isn't a lot of large fills.
8890 * ScrollBar.cs: Pass the correct clipping rect to the theme
8891 engine. Remove some debug code.
8893 2005-02-05 John BouAntoun <jba-mono@optusnet.com.au>
8895 * DateTimePicker.cs:
8896 - Fixed crash on DateTime.Parse, use Constructor instead
8898 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
8902 - Owner draw support (MeasureItem and DrawItem)
8904 2005-02-04 Jordi Mas i Hernandez <jordi@ximian.com>
8907 - Implements FindMergePosition and MergeMenu functions (very poor documented)
8908 - Fixes MenuItems.Add range
8910 - MergeMenu and Clone and CloneMenu functions
8912 2005-02-03 Jackson Harper <jackson@ximian.com>
8914 * ScrollBar.cs: Make abstract
8915 * ScrollableControl.cs: Create H/V scrollbars now that scrollbar
8918 2005-02-03 Jackson Harper <jackson@ximian.com>
8920 * ScrollBar.cs: First part of my scrollbar fixups. This removes
8921 all the unneeded refreshes and uses invalidates with properly
8924 2005-02-03 Peter Bartok <pbartok@novell.com>
8926 * ComponentModel.cs: Added
8927 * IDataGridEditingService.cs: Added
8928 * Timer.cs: Added missing attributes
8929 * ToolTip.cs: Added missing attributes
8931 2005-02-03 Jonathan Chambers <jonathan.chambers@ansys.com>
8933 * PropertyGridView.cs: Added. Patch by Jonathan Chambers
8935 2005-02-03 Peter Bartok <pbartok@novell.com>
8937 * ListBox.cs: Added missing attributes
8939 2005-02-03 Jordi Mas i Hernandez <jordi@ximian.com>
8942 - Fixes font height after font change
8943 - Avoid generating unnecesary OnSelectedIndexChanged on clearing
8945 2005-02-02 Peter Bartok <pbartok@novell.com>
8947 * HandleData.cs: Introduced static methods to allow class
8948 to be more self-contained and track it's own HandleData objects
8949 * XplatUIOSX.cs, XplatUIWin32.cs, XplatUIX11.cs: Fixed usage of
8950 HandleData to use new static methods
8952 2005-02-02 Jordi Mas i Hernandez <jordi@ximian.com>
8955 - Fixes default size and PreferredHeight
8957 - ObjectCollection.Insert implementation
8963 - ObjectCollection.Insert implementation
8964 - No selection after clean
8967 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
8969 * ThemeWin32Classic.cs: quick fix to comboboxbutton pushed painting
8971 2005-02-01 Jordi Mas i Hernandez <jordi@ximian.com>
8974 - Caches ItemHeight calculation for OwnerDrawVariable
8975 - Handles dropdown properly
8976 - Fixes several minor bugs
8978 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
8981 - Fixes 71946 and 71950
8982 - Fixes changing Multicolumn on the fly
8983 - Fixes keyboard navigation on Multicolumn listboxes
8985 2005-01-31 Geoff Norton <gnorton@customerdna.com>
8987 * XplatUIOSX.cs: Call ExitToShell in our teardown to avoid a
8990 2005-01-31 Geoff Norton <gnorton@customerdna.com>
8992 * XplatUIOSX.cs: Allow applications to actually exit.
8994 2005-01-31 Geoff Norton <gnorton@customerdna.com>
8996 * XplatUIOSX.cs: SetWindowStyle implemented. Reposition views in
8997 their parent at creation time rather than lazily later. Fixes a major
8998 regression we were experiencing.
9000 2005-01-31 John BouAntoun <jba-mono@optusnet.com.au>
9002 * ThemeWin32Classic.cs: more date time picker painting fixes
9003 * DateTimePicker.cs: more monthcalendar drop down fixes
9004 * MonthCalendar.cs: more CreateParams fixes to ensure correct drop down
9006 2005-01-31 Jordi Mas i Hernandez <jordi@ximian.com>
9009 - When moving the thumb going outside the control should stop the moving
9010 - Adds the firing of missing events
9011 - Fixes no button show if Size is not specified
9012 - End / Home keys for keyboard navigation
9014 2005-01-30 Peter Bartok <pbartok@novell.com>
9016 * NotifyIcon.cs (CalculateIconRect): Removed debug output and added
9017 sanity check to prevent theoretical loop
9018 * XplatUIWin32.cs (SetVisible): Removed debug output
9019 * XplatUIX11.cs (SystrayChange): Added sanity check
9020 * ScrollableControl.cs (OnVisibleChanged): Now calls base method
9021 * Control.cs (OnVisibleChanged): Added workaround for ParentForm
9022 behaviour, valid until the X11 client window rewrite is done
9023 * TextBox.cs (ctor): Setting proper default foreground and background
9026 2005-01-30 John BouAntoun <jba-mono@optusnet.com.au>
9028 * Theme: Added DrawDateTimePicker to interface
9029 * ThemeWin32Classic.cs: Added DrawDateTimePicker (incomplete)
9030 * DateTimePicker.cs: Created (still needs keys and painting code)
9031 * DateTimePickerFormat.cs: added
9032 * MonthCalendar.cs: fixed CreateParams for popup window mode
9034 2005-01-29 Peter Bartok <pbartok@novell.com>
9036 * ControlPaint.cs: Fixed luminace value returned on achromatic colors,
9037 this should also the calculations for ligher/darker
9038 * Theme.cs: Fixed defaults for ScrollBar widths/heights
9040 2005-01-29 Peter Bartok <pbartok@novell.com>
9042 * ArrangeDirection.cs: Added
9043 * ArrangeStartingPositon.cs: Added
9044 * SystemInformation.cs: Implemented
9045 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
9046 XplatUIX11.cs, Theme.cs: Added/implemented new static properties
9047 used by SystemInformation class
9048 * X11Strucs.cs: Added XSizeHints structure
9050 - Fixed CreateParams to make sure the menu window is always visible
9051 - TrackPopupMenu: Added check to make sure we don't draw the
9054 2005-01-29 Peter Bartok <pbartok@novell.com>
9056 * HandleData.cs: Added method for altering invalid area
9057 * TextBoxBase.cs: Implemented TextLength
9059 2005-01-28 Peter Bartok <pbartok@novell.com>
9061 * XplatUIX11.cs: Improvement over last patch, not sending
9062 the WM_PAINT directly anymore, instead we scroll any pending
9063 exposed areas and let the system pick out the WM_PAINT later
9065 2005-01-28 Peter Bartok <pbartok@novell.com>
9067 * SWF.csproj: Deleted, no longer used. Instead,
9068 Managed.Windows.Forms/SWF.csproj should be used
9069 * XplatUIX11.cs: Instead of posting the WM_PAINT, we send it
9070 directly, to avoid a potential race condition with the next
9073 2005-01-28 Peter Bartok <pbartok@novell.com>
9075 * XplatUI.cs: Made class internal
9077 2005-01-28 Jordi Mas i Hernandez <jordi@ximian.com>
9079 * CheckedListBox.cs:
9082 - Missing methods and events
9084 2005-01-27 Peter Bartok <pbartok@novell.com>
9086 * Application.cs (Run): Don't use form if we don't have one
9088 2005-01-27 Peter Bartok <pbartok@novell.com>
9090 * TextBoxBase.cs (get_Lines): Fixed index off by one error
9092 2005-01-27 Peter Bartok <pbartok@novell.com>
9094 * GridEntry.cs: Added; Patch by Jonathan S. Chambers
9095 * GridItem.cs: Added; Patch by Jonathan S. Chambers
9096 * GridItemCollection.cs: Added; Patch by Jonathan S. Chambers
9097 * GridItemType.cs: Added; Patch by Jonathan S. Chambers
9098 * PropertyGrid.cs: Added; Patch by Jonathan S. Chambers
9099 * PropertySort.cs: Added; Patch by Jonathan S. Chambers
9100 * PropertyTabChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9101 * PropertyTabChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
9102 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9103 * PropertyValueChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9104 * SelectedGridItemChangedEventArgs.cs: Added; Patch by Jonathan S. Chambers
9105 * SelectedGridItemChangedEventHandler.cs: Added; Patch by Jonathan S. Chambers
9107 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
9110 - Draw focus on Simple Combobox
9111 - Fixes drawing issues
9114 2005-01-27 Peter Bartok <pbartok@novell.com>
9117 - Place window in default location, instead of hardcoded 0/0
9118 - Send initial LocationChanged event
9120 - UpdateBounds after creation to find out where the WM placed us
9121 - Make sure that if the ParentForm changes location the Form
9123 * XplatUIX11.cs: XGetGeometry will not return the coords relative
9124 to the root, but to whatever the WM placed around us.
9125 Translate to root coordinates before returning toplevel
9127 * XplatUIWin32.cs: Removed debug output
9128 * XplatUIOSX.cs, XplatUI.cs, XplatUIDriver.cs: Added toplevel
9129 flag to GetWindowPos, to allow translation of coordinates on X11
9131 2005-01-27 Jordi Mas i Hernandez <jordi@ximian.com>
9133 * ListBox.cs: connect LostFocus Event
9135 2005-01-27 Peter Bartok <pbartok@novell.com>
9137 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
9138 XplatUIX11.cs: Extended the Systray API
9139 * Form.cs: Removed debug output
9140 * Application.cs: Fixed focus assignment, always need to call
9141 XplatUI.Activate() since Form.Activate() has rules that may
9143 * NotifyIcon.cs: Should be complete now
9144 * ToolTip.cs: Worked around possible timer bug
9146 2005-01-27 Jackson Harper <jackson@ximian.com>
9149 - Only invalidate the effected tabs when the
9150 selected index changes. This reduces drawing and gets rid of some
9152 - Only refresh if the tabs need to be shifted, otherwise only
9153 invalidate the slider button.
9154 - On windows the tabs are not filled to right if the slider is
9157 2005-01-27 Jackson Harper <jackson@ximian.com>
9159 * TabControl.cs: Only refresh on mouseup if we are showing the
9160 slider. Also only invalidate the button whose state has changed.
9162 2005-01-26 Peter Bartok <pbartok@novell.com>
9164 * XplatUI.cs, XplatUIDriver.cs: Added Systray methods
9165 * XplatUIWin32.cs: Implemented SystrayAdd(), SystrayChange()
9166 and SystrayRemove() methods
9167 * XplatUIOSX.cs: Stubbed Systray methods
9169 - Implemented SystrayAdd(), SystrayChange() and SystrayRemove()
9171 - Fixed broken XChangeProperty calls (marshalling messed up things)
9172 * X11Structs.cs: Added enums and structs required for Size hinting
9173 * NotifyIcon.cs: Added & implemented
9175 2005-01-26 Jackson Harper <jackson@ximian.com>
9177 * TabControl.cs: Space vertically layed out tabs properly.
9179 2005-01-26 Peter Bartok <pbartok@novell.com>
9181 * Form.cs (CreateClientParams): Always set the location to 0,0
9182 since we're a child window.
9184 * Control.cs (SetVisibleCore): Always explicitly setting the location
9185 of a toplevel window, apparently X11 doesn't like to move windows
9186 while they're not mapped.
9188 2005-01-26 Jackson Harper <jackson@ximian.com>
9190 * TabControl.cs: Implement FillToRight size mode with vertically
9193 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
9195 * ControlPaint.cs, ThemeWin32Classic.cs
9196 - Fixes DrawFocusRectangle
9198 2005-01-26 Jordi Mas i Hernandez <jordi@ximian.com>
9201 - MenuBar tracking only starts when item is first clicked
9202 - Fixes menu hidding for multiple subitems
9203 - Unselect item in MenuBar when item Executed
9206 2005-01-25 Jordi Mas i Hernandez <jordi@ximian.com>
9209 - IsInputKey for ListBox
9212 - Shift and Control item selection
9213 - Implement SelectionMode.MultiExtended
9216 - IsInputKey implemented
9217 - Do not generate OnTextChangedEdit on internal txt changes
9219 2005-01-23 Peter Bartok <pbartok@novell.com>
9221 * AccessibleObject.cs: Partially implemented Select()
9222 * MonthCalendar.cs: Added missing attributes and events
9223 * Form.cs: Fixed CreateParams behaviour, now controls derived from
9224 form can properly override CreateParams.
9225 * XplatUI.cs, XplatUIDriver.cs, XplatUIOSX.cs, XplatUIWin32.cs,
9226 XplatUIX11.cs: Dropped RefreshWindow method, not needed if
9227 Control performs Invalidate & Update
9228 * NativeWindow (CreateHandle): Added special handling for Form
9229 and Form.FormParent classes to allow overriding of From.CreateParams
9231 - ControlNativeWindow: Renamed 'control' variable to more intuitive
9233 - ControlNativeWindow: Added Owner property
9234 - Removed usage of Refresh() on property changes, changed into
9235 Invalidate(), we need to wait until the queue is processed for
9236 updates, direct calls might cause problems if not all vars for
9237 Paint are initialized
9238 - Added call to UpdateStyles() when creating the window, to set any
9239 styles that CreateWindow might have ignored.
9240 - Added support for Form CreateParent overrides to UpdateStyles()
9241 * MessageBox.cs: Removed no longer needed FormParent override stuff,
9242 CreateParams are now properly overridable
9243 * CommonDialog.cs: Removed no longer needed FormParent override stuff,
9244 CreateParams are now properly overridable
9246 2005-01-23 Miguel de Icaza <miguel@ximian.com>
9248 * UpDownBase.cs (ctor): Connect TextChanged in the entry to the
9251 Capture LostFocus and OnTextBoxChanged. The later introduces a
9252 recursive invocation that I have not figured out yet.
9254 Reset the timer when not using (it was accumulating).
9257 (OnTextBoxChanged): Set UserEdit to true here to track whether the
9258 user has made changes that require validation.
9260 Reset changing to avoid loops.
9262 2005-01-22 Miguel de Icaza <miguel@ximian.com>
9264 * NumericUpDown.cs: Display value at startup.
9266 * UpDownBase.cs (Text): Do not call UpdateEditText here, only call
9269 * NumericUpDown.cs: Minimum, Maximum, Text, Value properties
9270 filled in. Added some basic parsing of text.
9272 Still missing the OnXXX method overrides, and figuring out the
9273 events that must be emitted.
9275 * UpDownBase.cs: Handle UserEdit on the Text property.
9277 2005-01-22 Jordi Mas i Hernandez <jordi@ximian.com>
9280 - Fixes IntegralHeight
9283 2005-01-21 Jackson Harper <jackson@ximian.com>
9285 * TabControl.cs: Set the SelectedIndex property when SelectedTab
9286 is set so that the page visibility is updated and the tabs are
9289 2005-01-21 Jackson Harper <jackson@ximian.com>
9291 * TabControl.cs: Use cliping rectangle for blitting. Give the
9292 theme the clipping rect so we can do clipping while
9293 drawing. Remove some debug code.
9295 2005-01-21 Jackson Harper <jackson@ximian.com>
9297 * TabPage.cs: Add a new method so tab pages can force the tab
9298 control to recalculate the tab page sizes.
9299 * TabControl.cs: UpdateOwner needs to make the tab control recalc
9302 2005-01-20 Jackson Harper <jackson@ximian.com>
9304 * ThemeWin32Classic.cs: Clip text to the staus bar panels rects.
9306 2005-01-20 Jackson Harper <jackson@ximian.com>
9308 * TreeView.cs: Set the bounds for nodes properly. They were
9309 getting screwed up when checkboxes were not enabled, but images
9312 2005-01-20 Jordi Mas i Hernandez <jordi@ximian.com>
9315 - Owner draw support
9318 2005-01-20 Jackson Harper <jackson@ximian.com>
9320 * XplatUIStructs.cs: More misc keys
9321 * X11Keyboard.cs: Ignore some control keys.
9323 2005-01-20 Jackson Harper <jackson@ximian.com>
9325 * X11Structs.cs: Add the modmaps to the keymask struct and tabify.
9326 * X11Keyboard.cs: Set the AltGr mask when we get a key event.
9328 2005-01-19 Peter Bartok <pbartok@novell.com>
9330 * Control.cs: Un-selecting the control when it is loosing focus
9332 2005-01-19 Jackson Harper <jackson@ximian.com>
9334 * TreeView.cs: Hook up to the text controls leave event so we can
9335 end editing when the users clicks outside the text box.
9337 2005-01-19 Jackson Harper <jackson@ximian.com>
9339 * X11Keyboard.cs: Fix typo that was causing the wrong keycodes to
9340 get set in the conversion array.
9342 2005-01-19 Peter Bartok <pbartok@novell.com>
9344 * Application.cs (ModalRun): Added a call to CreateControl to ensure
9345 focus is properly set
9347 - Added missing attributes
9348 - removed styles, those are already set in the base class
9350 - Added missing attributes
9351 - Added clip window styles
9352 * CheckBox.cs: Added missing attributes
9354 - FormParentWindow.CreateParams: Added required clip styles
9355 * Form.cs (ProcessDialogKey): Fixed handling of Escape key, now
9356 also filters modifier keys
9358 - Added assignment of Accept and Cancel button to enable Enter
9359 and Esc keys in MessageBox dialogs
9360 - FormParentWindow.CreateParams: Added required clip styles
9361 * RadioButton.cs: Added missing attributes
9362 * TextControl.cs: No longer draws selection if control does not
9365 - Now draws simple rectangle around test area to make it obvious
9366 there's a control. This is a hack until we properly support borders
9367 - A few simple fixes to support selections better, now erases selected
9368 text when typing, and resets selection when using movement keys
9370 2005-01-19 Miguel de Icaza <miguel@ximian.com>
9372 * UpDownBase.cs: Added some new properties.
9374 * DomainUpDown.cs: Implement a lot to get my test working.
9376 2005-01-19 Geoff Norton <gnorton@customerdna.com>
9378 * XplatUIOSX.cs: Fix a minor bug to bring the close box back
9380 2005-01-19 Geoff Norton <gnorton@customerdna.com>
9382 * OSXStructs (WindowAttributes): Fixed csc complaints
9384 2005-01-19 Geoff Norton <gnorton@customerdna.com>
9387 OSXStructs.cs: Initial refactor to move enums and consts into
9388 OSXStructs and use them in the driver for greater readability.
9390 2005-01-19 Geoff Norton <gnorton@customerdna.com>
9392 * XplatUIOSX.cs: Initial support for Standard Cursors.
9393 * OSXStructs.cs: Move our structs here; added ThemeCursor enum
9395 2005-01-19 Jordi Mas i Hernandez <jordi@ximian.com>
9397 * ComboBox.cs: ability to change style when the ctrl is already
9398 created, missing methods and events, bug fixes, signature fixes
9400 2005-01-19 Peter Bartok <pbartok@novell.com>
9402 * Cursors.cs (ctor): Added ctor to fix signature
9404 2005-01-18 Peter Bartok <pbartok@novell.com>
9406 * Button.cs: Implemented DoubleClick event
9408 - Fixed keyboard handling to behave like MS, where the press of
9409 Spacebar is equivalent to a mousedown, and the key release is
9410 equivalent to mouseup. Now a spacebar push will give the same
9411 visual feedback like a mouse click.
9412 - Added missing attributes
9413 - Added ImeModeChanged event
9414 - Added support for generating DoubleClick event for derived classes
9416 - Implemented DoubleClick event
9417 - Added missing attributes
9418 * CommonDialog.cs: Added missing attribute
9419 * ContextMenu.cs: Added missing attributes
9421 - AutoChecked buttons do not allow to be unselected when clicked
9422 (otherwise we might end up with no selected buttons in a group)
9423 - Added missing attributes
9424 - Implemented DoubleClickEvent
9425 * ThreadExceptionDialog.cs: Enabled TextBox code
9427 2005-01-18 Peter Bartok <pbartok@novell.com>
9429 * Form.cs: Removed debug output
9430 * Button.cs: Added support for DoubleClick method
9432 2005-01-18 Peter Bartok <pbartok@novell.com>
9435 - Added method to parent window that allows triggering size
9436 calculations when a menu is added/removed
9437 - set_Menu: Cleaned up mess from early days of Form and Control,
9438 now properly triggers a recalc when a menu is added/removed
9439 - Added case to select form itself as focused form if no child
9441 - Added PerformLayout call when showing dialog, to ensure properly
9444 - Select(): Made internal so Form can access it
9445 - Focus(): Only call Xplat layer if required (avoids loop), and sets
9447 * Application.cs (Run): Removed hack and calls PerformLayout instead
9448 to trigger calculation when Form becomes visible
9450 2005-01-18 Jordi Mas i Hernandez <jordi@ximian.com>
9452 * ComboBox.cs: fixes for ownerdraw
9454 2005-01-18 Peter Bartok <pbartok@novell.com>
9457 - Sentinel is no longer static, each Document gets it's own, this
9458 avoids locking or alternatively overwrite problems when more
9459 than one text control is used simultaneously.
9460 - Switched to use Hilight and HilightText brushes for text selection
9462 * TextBoxBase.cs (PaintControl): Disabled AntiAliasing to improve looks
9464 2005-01-18 Peter Bartok <pbartok@novell.com>
9467 - Hooked up the following events:
9475 o SystemColorsChanged
9478 - Removed debug output
9479 - Added a call to the current theme's ResetDefaults when a color change
9481 * Form.cs: Now setting the proper ImeMode
9482 * Theme.cs: Defined a method to force recreation of cached resources
9483 and rereading of system defaults (ResetDefaults())
9484 * ThemeWin32Classic.cs: Added ResetDefaults() stub
9486 2005-01-17 Peter Bartok <pbartok@novell.com>
9488 * Control.cs: Added missing attributes
9490 2005-01-17 Jackson Harper <jackson@ximian.com>
9492 * TreeNode.cs: Implement editing. Add missing properties selected
9494 * TreeView.cs: Implement node editing. Also some fixes to use
9495 Invalidate (invalid area) instead of Refresh when selecting.
9497 2005-01-17 Peter Bartok <pbartok@novell.com>
9500 - Implemented InvokeGotFocus() method
9501 - Implemented InvokeLostFocus() method
9502 - Implemented InvokePaint() method
9503 - Implemented InvokePaintBackground() method
9504 - Implemented InvokeClick() method
9505 - Implemented FindForm() method
9506 - Implemented RectangleToClient() method
9507 - Implemented ClientToRectangle() method
9508 - Implemented ResetBackColor() method
9509 - Implemented ResetCursor() method
9510 - Implemented ResetFont() method
9511 - Implemented ResteForeColor() method
9512 - Implemented ResetImeMode() method
9513 - Implemented ResetLeftToRight() method
9514 - Implemented ResetText() method
9515 - Implemented Scale() methods
9516 - Implemented ScaleCore() method
9517 - Implemented Update() method
9518 - Removed unused variables
9519 - Stubbed AccessibilityNotifyClients and
9520 ControlAccessibleObject.NotifyClients() methods (dunno what to do
9522 - Now setting proper default for RightToLeft property
9523 - Fixed bug in SetClientSizeCore that would cause windows to get
9525 - Now sending Click/DoubleClick events
9526 - Now selecting controls when left mouse button is clicked on
9528 * AccessibleEvents.cs: Added
9529 * XplatUI.cs, XplatUIDriver.cs: Added UpdateWindow() method
9530 * XplatUIOSX.cs: Stubbed UpdateWindow() method
9531 * XplatUIWin32.cs: Implemented UpdateWindow() method
9532 * XplatUIX11.cs: Implemented UpdateWindow() method
9533 * Form.cs: Removed stray semicolon causing CS0162 warning
9534 * ThemeWin32Classic.cs: Fixed unused variable warnings
9535 * ScrollableControl.cs: Now calls base method for ScaleCore
9536 * ButtonBase.cs: Now disabling StandardClick and StandardDoubleClick
9537 style to avoid interference with internal click handler (which is
9538 different than standard Control click handling)
9540 - Now unchecks all sibling radio buttons when control is
9541 selected (Fixes #68756)
9542 - Removed internal tabstop variable, using the one inherited from
9545 2005-01-17 Jackson Harper <jackson@ximian.com>
9547 * NavigateEventArgs.cs: Fix base type.
9548 * LinkLabel.cs: Sig fix
9550 2005-01-17 Jackson Harper <jackson@ximian.com>
9552 * TreeView.cs: Only invalidate the effected nodes bounds when
9555 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
9557 * XplatUIWin32.cs: fixes Win32 marshaling
9558 * XplatUIX11.cs: fixes method signature
9560 2005-01-17 Peter Bartok <pbartok@novell.com>
9562 * XplatUIX11.cs: Clean up resources when we no longer need them
9564 2005-01-17 Peter Bartok <pbartok@novell.com>
9566 * XplatUI.cs, XplatUIDriver.cs: Added SetCursor(), ShowCursor(),
9567 OverrideCursor(), DefineCursor(), DefineStdCursor(), GetCursorInfo()
9568 and DestroyCursor() methods.
9569 * Cursor.cs: Partially implemented, now supports standard cursors;
9570 still contains some debug code
9571 * Cursors.cs: Implemented class
9573 - WndProc(): Added handling of WM_SETCURSOR message, setting the
9575 - Implemented Cursor property
9576 - Replaced break; with return; more straightforwar and possibly
9578 - Now properly setting the result for WM_HELP
9579 * X11Structs.cs: Added CursorFontShape enum
9580 * XplatUIStructs.cs:
9581 - Added StdCursor enum (to support DefineStdCursor() method)
9582 - Added HitTest enum (to support sending WM_SETCURSOR message)
9584 - Now sends the WM_SETCURSOR message
9585 - Implemented new cursor methods
9586 * XplatUIOSX.cs: Stubbed new cursor methods
9588 - Implemented new cursor methods
9589 - Added GetSystemMetrics function and associated enumeration
9591 2005-01-15 Peter Bartok <pbartok@novell.com>
9594 - WndProc(): Now handles EnableNotifyMessage
9595 - SelectNextControl(): Fixed bug where if no child or sibling
9596 controls exist we looped endlessly
9598 2005-01-14 Jackson Harper <jackson@ximian.com>
9600 * TreeView.cs: Recalculate the tab pages when a new one is added
9601 so that the proper bounding rects are created.
9603 2005-01-14 Jackson Harper <jackson@ximian.com>
9605 * TreeView.cs: Draw a gray box instead of a grip in the lower
9606 right hand corner when there are both horizontal and vertical
9609 2005-01-14 Jackson Harper <jackson@ximian.com>
9611 * Control.cs: When erasing backgrounds use FromHwnd instead of
9612 FromHdc when there is a NULL wparam. This occurs on the X driver.
9613 * XplatUIX11.cs: Set the wparam to NULL.
9615 2005-01-13 Jackson Harper <jackson@ximian.com>
9617 * PictureBox.cs: Implement missing methods (except ToString, need
9618 to test that on windows) and events. When visibility is changed we
9619 need to redraw the image because the buffers are killed. When size
9620 is changed refresh if the sizemode needs it.
9622 2005-01-13 Peter Bartok <pbartok@novell.com>
9624 * Control.cs (SelectNextControl): Was using wrong method to select
9627 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
9629 * ComboBox.cs: fixes dropstyle
9631 2005-01-13 Peter Bartok <pbartok@novell.com>
9634 - Implemented Select() override
9635 - Now handles WM_SETFOCUS/WM_KILLFOCUS messages
9636 - Now sets keyboard focus on startup
9637 * Control.cs (SelectNextControl): Now properly handles directed=true
9639 - WndProc: Now passes tab key on to base if AcceptTabChar=false
9640 - Added (really bad) focus rectangle (mostly for testing)
9641 * TextBox.cs: Added code to handle getting/loosing focus and invalidating
9642 to enforce redraw on focus changes
9643 * ContainerControl.cs:
9644 - Fixed detection of Shift-Tab key presses
9645 - Fixed traversal with arrow keys
9646 * XplatUIX11.cs: Implemented simulated keyboard focus; not sure if we're
9647 gonna keep this or if it's complete yet
9649 2005-01-13 Jordi Mas i Hernandez <jordi@ximian.com>
9651 * ComboBox.cs: missing properties, fixes
9653 2005-01-13 Peter Bartok <pbartok@novell.com>
9655 * Panel.cs (ctor): Setting Selectable window style to off
9656 * Splitter.cs (ctor): Setting Selectable window style to off
9657 * GroupBox.cs (ctor): Setting Selectable window style to off
9658 * Label.cs (ctor): Setting Selectable window style to off
9660 2005-01-12 Miguel de Icaza <miguel@ximian.com>
9662 * UpDownBase.cs (InitTimer): If the timer has been already
9665 Use a TextBox instead of a Label.
9667 2005-01-12 Jackson Harper <jackson@ximian.com>
9669 * TreeView.cs: Refresh the tree after sorting the nodes. Always
9670 draw the connecting node lines (when ShowLines is true).
9671 * TreeNode.cs: The nodes index can now be updated. This is used
9672 when a node collection is sorted.
9673 * TreeNodeCollection.cs: Implement sorting. Nodes can be sorted on
9674 insert or an existing unsorted node collection can be sorted.
9676 2005-01-12 Peter Bartok <pbartok@novell.com>
9678 * ContainerControl.cs: Implemented ProcessDialogKeys()
9680 2005-01-12 Peter Bartok <pbartok@novell.com>
9683 - Implemented SelectNextControl() method
9684 - Several focus related bug fixes
9685 - Fixed Docking calculations to match MS documentation and
9688 2005-01-12 Jordi Mas i Hernandez <jordi@ximian.com>
9690 * ContainerControl.cs, ListControl.cs, ListBox.cs: keyboard navigation and
9693 2005-01-12 Peter Bartok <pbartok@novell.com>
9696 - Fixed broken Contains() method
9697 - Implemented GetNextControl() method. Finally. This is the pre-
9698 requisite for focus handling.
9700 2005-01-12 Peter Bartok <pbartok@novell.com>
9702 * OSXStrucs.cs: Added
9704 2005-01-12 Peter Bartok <pbartok@novell.com>
9707 - Removed PeekMessageFlags
9708 - Implemented SetWindowStyle() method
9709 * XplatUIStructs.cs: Added PeekMessageFlags
9710 * X11Structs: Added missing border_width field to XWindowChanges struct
9712 - PeekMessage: Now throws exception if flags which are not yet
9713 supported are passed
9714 - Implemented SetWindowStyle() method
9715 - Fixed SetZOrder to handle AfterHwnd properly
9716 * XplatUI.cs: Added SetWindowStyle() method
9717 * XplatUIDriver.cs: Added SetWindowStyle() abstract
9719 - Implemented UpdateStyles() method
9720 - Implemented UpdateZOrder() method
9721 * XplatUIOSX.cs: Added SetWindowStyle() stub
9723 2005-01-12 Geoff Norton <gnorton@customerdna.com>
9725 * XplatUIOSX.cs: Fix SetZOrder (this needs more testing with a 3
9729 2005-01-11 Jackson Harper <jackson@ximian.com>
9731 * TreeView.cs: Still need to draw lines to siblings even if out of
9732 the current node is out of the clip.
9734 2005-01-11 Jackson Harper <jackson@ximian.com>
9736 * TreeView.cs: When setting the hbar/vbar/grip position use
9737 SetBounds so that perform layout is only called once. Also suspend
9738 and resume layout so layout is only done once for all controls.
9739 - Removed some debug fluff
9740 * SizeGrip.cs: Call base implmentation in overriding methods.
9741 - When visibility is changed the drawing buffers are killed so we
9744 2005-01-11 Jackson Harper <jackson@ximian.com>
9746 * TreeView.cs: Calculate the open node count while drawing. This
9747 saves us an entire tree traversal for every paint operation. Use
9748 a member var for the open node count so less vars are passed around.
9750 2005-01-11 John BouAntoun <jba-mono@optusnet.com.au>
9753 - fixed selection to use mousemove, not mouse polling on timer
9754 * ThemeWin32Classic.cs
9755 - removed redundant unused variable "no_more_content"
9757 2005-01-11 Peter Bartok <pbartok@novell.com>
9759 * XplatUIX11.cs (DoEvents): Needs to return when no more events
9760 are pending, so it now calls PeekMessage instead of GetMessage;
9761 implemented a incomplete version of PeekMessage
9763 2005-01-11 Peter Bartok <pbartok@novell.com>
9765 * XplatUIWin32.cs: Switched P/Invokes to unicode charset to avoid
9767 * TextBoxBase.cs: Added sending of TextChanged event
9769 2005-01-10 Jackson Harper <jackson@ximian.com>
9771 * TreeView.cs: Try not to draw outside the clipping rectangle on
9774 2005-01-10 Jordi Mas i Hernandez <jordi@ximian.com>
9776 * ComboBox.cs: keyboard navigation, item navigation, bug fixes
9778 2005-01-10 Jackson Harper <jackson@ximian.com>
9781 - Implement fast scrolling. Now only the newly
9782 exposed nodes are drawn and the old image is moved using the
9783 XplatUI::ScrollWindow method.
9784 - Factor in height of nodes when calculating whether or not the
9785 node is in the clipping rect.
9787 2005-01-10 Jackson Harper <jackson@ximian.com>
9789 * TreeNodeCollection.cs: Refresh the tree when a new node is added.
9791 2005-01-10 Peter Bartok <pbartok@novell.com>
9793 * Application.cs: Added temporary hack to resolve all our resize
9794 required issues on startup. This will get fixed properly at
9795 some point in the future
9797 2005-01-10 Jackson Harper <jackson@ximian.com>
9799 * SizeGrip.cs: New internal class that is used as a sizing
9800 grip control...hence the name.
9802 2005-01-10 Peter Bartok <pbartok@novell.com>
9804 * Control.cs: Implemented proper TabIndex handling, now assigning
9805 a tabindex when a control is added to a container
9806 * GroupBox.cs (ctor): Now sets the Container style bit, required
9807 for Control.GetNextControl()
9809 2005-01-09 Jackson Harper <jackson@ximian.com>
9811 * TextBoxBase.cs: Clear window when scrolling (fixes build).
9813 2005-01-09 Peter Bartok <pbartok@novell.com>
9815 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIOSX.cs,
9816 XplatUIX11.cs: Added ability to control ScrollWindow expose and
9817 an overload for ScrollWindow to allow only scrolling a rectangle
9819 2005-01-09 Peter Bartok <pbartok@novell.com>
9822 - Implemented SetDesktopBounds method
9823 - Implemented SetDesktopLocation method
9825 2005-01-08 Jackson Harper <jackson@ximian.com>
9827 * TreeView.cs: Only set the vbar's Maximum and LargeChange when
9828 the node count has changed, this removes to VScroll::Refresh calls
9831 2005-01-08 Geoff Norton <gnorton@customerdna.com>
9833 * XplatUIOSX.cs: Fix GetWindowState & SetWindowState
9835 2005-01-07 Jackson Harper <jackson@ximian.com>
9837 * TreeNode.cs: Just update the single node when it is
9838 checked. Don't refresh after toggling, the Expand/Collapse already
9840 * TreeView.cs: Respect clipping a little more when drawing. Try
9841 not to redraw things that don't need to be redrawn. Just hide the
9842 scrollbars when they are no longer needed instead of removing
9843 them, so they don't have to be created again and again.
9845 2005-01-07 Geoff Norton <gnorton@customerdna.com>
9847 * XplatUIOSX.cs (SetCaretPos): We need to translate the view
9848 coordinates to window space to place the caret properly, FIXED.
9849 Implement GetWindowState & SetWindowState
9851 2005-01-06 Peter Bartok <pbartok@novell.com>
9854 - Implemented ClientSize property
9855 - Implemented DesktopBounds property
9856 - Implemented DesktopLocation property
9857 - Implemented IsRestrictedWindow property
9858 - Implemented Size property
9859 - Implemented TopLevel property
9860 - Implemented FormWindowState property
9862 - Implemented GetTopLevel() method
9863 - Implemented SetTopLevel() method
9864 * X11Structs.cs (Atom):
9865 - Added AnyPropertyType definition
9866 - Added MapState definiton and updated XWindowAttribute struct
9867 * XplatUI.cs: Added GetWindowState() and SetWindowState() methods
9868 * XplatUIDriver.cs: Added GetWindowState() and SetWindowState() methods
9869 * XplatUIOSX.cs: Stubbed GetWindowState() and SetWindowState() methods
9871 - Implemented GetWindowState() and SetWindowState() methods
9872 - Fixed Win32GetWindowLong return type
9874 - Introduced central function for sending NET_WM messages
9875 - Implemented GetWindowState() and SetWindowState() methods
9876 * TextBoxBase.cs (set_Lines):
9877 - Now uses Foreground color for text added via Text property (Duh!)
9878 - Added code to remember programmatically requested size (fixes
9879 behaviour when Multiline is set after Size)
9880 - Added AutoSize logic
9882 2005-01-06 Jackson Harper <jackson@ximian.com>
9884 * TreeView.cs: Draw the image after the checkbox if checkboxes are enabled.
9886 2005-01-06 Jackson Harper <jackson@ximian.com>
9888 * ListBox.cs: Don't allow the horizontal scrollbars maximum to be
9891 2005-01-06 Jackson Harper <jackson@ximian.com>
9893 * ScrollableControl.cs: Lazy init the scrollbars.
9895 2005-01-06 Jackson Harper <jackson@ximian.com>
9897 * Theme.cs: Speed up getting pens and solid brushes, by using
9898 their ARGB as a hash instead of tostring and not calling Contains.
9900 2005-01-06 Peter Bartok <pbartok@novell.com>
9903 - Implemented OnActivated and OnDeactivate event trigger
9904 - Implemented Activate() method
9905 - Fixed ShowDialog() to activate the form that was active before
9906 the dialog was shown
9908 - Added global active_window var that tracks the currently active
9910 - Now always grabs Property changes from the root window to always
9911 catch changes on the active window property
9912 - Added code to PropertyNotify handler to send Active/Inactive
9913 messages when state changes. This puts X11 and Win32 en par on
9914 WM_ACTIVATE notifications (except for double notifications when
9915 the user clicks away from our modal window to another one of our
9918 2005-01-05 Jackson Harper <jackson@ximian.com>
9920 * ImageList.cs: Implment ctor
9922 2005-01-05 Geoff Norton <gnorton@customerdna.com>
9924 * XplatUIOSX.cs: Implement Activate/SetTopmost
9926 2005-01-05 Geoff Norton <gnorton@customerdna.com>
9928 * XplatUIOSX.cs: Implement SetZOrder, minor cleanup
9930 2005-01-05 Geoff Norton <gnorton@customerdna.com>
9932 * XplatUIOSX.cs: Implement GetActive/SetFocus.
9934 2005-01-05 Peter Bartok <pbartok@novell.com>
9936 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs,
9937 XplatUIOSX.cs: Added GetActive method to return the currently
9938 active window for the application (or null, if none is active)
9940 - Implemented ActiveForm
9941 - Commented out owner assignment for modal dialogs (causes problems
9942 on Win32, since the owner will be disabled)
9943 - Reworked some Active/Focus handling (still incomplete)
9944 * CommonDialog.cs: Commented out owner assignment for modal dialogs
9945 (causes problems on Win32, since the owner will be disabled)
9946 * IWin32Window: Added ComVisible attribute
9948 2005-01-05 Peter Bartok <pbartok@novell.com>
9950 * ToolTip.cs (WndProc): Enable setting focus now that we have the
9951 required XplatUI functions.
9953 2005-01-05 Peter Bartok <pbartok@novell.com>
9955 * XplatUI.cs, XplatUIOSX.cs, XplatUIWin32.cs, XplatUIDriver.cs,
9956 XplatUIX11.cs, X11Structs.cs, Form.cs: Framework code required
9957 to implement focus and activation handling; still incomplete and
9960 2005-01-04 Peter Bartok <pbartok@novell.com>
9962 * TextBoxBase.cs: Changed access level for Document property to
9963 match switch to internal for TextControl
9965 2005-01-04 Peter Bartok <pbartok@novell.com>
9967 * AccessibleObject: Added ComVisible attribute
9969 2005-01-04 Jackson Harper <jackson@ximian.com>
9971 * X11Keyboard.cs: Remove unneeded var.
9973 2005-01-04 Jackson Harper <jackson@ximian.com>
9975 * XplatUIX11.cs (DoEvents): Implement, Just cast aside all events
9977 * XplatUIX11.cs (GetMessage): Call Exit when we get an unknown
9978 ClientMessage. This makes apps exit cleanly (more often).
9980 2005-01-04 Jackson Harper <jackson@ximian.com>
9982 * TreeNode.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) for
9983 handling focus, return correct colors and fonts,
9984 * TreeView.cs: Patches by Kazuki Oikawa (kazuki@panicode.com) to
9985 handle selection, horizontal scrolling, and mouse interaction.
9987 2005-01-04 Peter Bartok <pbartok@novell.com>
9989 * ICommandExecutor.cs: Added
9990 * IDataGridColumnStyleEditingNotificationService.cs: Added
9991 * IFeatureSupport.cs: Added
9992 * IFileReaderService.cs: Added
9993 * IDataObject.cs: Added ComVisible attribute
9994 * AmbientProperties.cs: Added
9995 * BaseCollection.cs: Added missing attributes
9996 * ListBindingConverter.cs: Added (stubbed, required for certain attributes)
9997 * BaseCollection.cs: Added missing attributes
9998 * Binding.cs: Added TypeConverter attribute
9999 * BindingContext.cs: Added DefaultEvent attribute
10000 * BindingsCollection.cs: Added DefaultEvent attribute
10001 * Button.cs: Added DefaultValue attribute
10002 * DragEventArgs.cs: Added ComVisible attribute
10003 * GiveFeedbackEventArgs.cs: Added ComVisible attribute
10004 * KeyEventArgs.cs: Added ComVisible attribute
10005 * KeyPressEventArgs.cs: Added ComVisible attribute
10006 * MouseEventArgs.cs: Added ComVisible attribute
10007 * NavigateEventArgs.cs: Added
10008 * NavigateEventHandler.cs: Added
10009 * FeatureSupport.cs: Added
10010 * OSFeature.cs: Added
10011 * Theme.cs: Added abstract Version property to support OSFeature
10012 * ThemeWin32Classic.cs: Added Version property to
10013 support OSFeature.Themes
10014 * ProgressBar.cs: Removed OnPaintBackground override, not required since
10015 the proper styles to avoid background drawing are set, also doesn't
10017 * QueryAccessibilityHelpEventArgs.cs: Added ComVisible attribute
10018 * QueryContinueDragEventArgs.cs: Added ComVisible attribute
10019 * ScrollEventArgs.cs: Added ComVisible attribute
10020 * SplitterEventArgs.cs: Added ComVisible attribute
10021 * AccessibleSelection.cs: Added Flags attribute
10022 * Appearance.cs: Added ComVisible attribute
10023 * Border3DSide.cs: Added ComVisible attribute
10024 * Border3DStyle.cs: Added ComVisible attribute
10025 * BorderStyle.cs: Added ComVisible attribute
10026 * DragAction.cs: Added ComVisible attribute
10027 * ErrorBlinkStyle.cs: Added
10028 * ScrollEventType.cs: Added ComVisible attribute
10029 * AnchorStyles.cs: Added Editor attribute
10030 * DockStyle.cs: Added Editor attribute
10031 * HorizontalAlignment.cs: Added ComVisible attribute
10032 * HelpEventArgs.cs: Added ComVisible attribute
10033 * PaintEventArgs.cs: Added IDisposable
10035 2005-01-04 Peter Bartok <pbartok@novell.com>
10037 * TextControl.cs: Switched Line, LineTag and Document classes to
10040 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
10042 * ComboBox.cs, ThemeWin32Classic.cs, ListBox.cs, Theme.cs:
10043 Simple mode, fixes, IntegralHeight, etc.
10045 2005-01-04 Peter Bartok <pbartok@novell.com>
10047 * TextBoxBase.cs: Using proper font variable now
10049 2005-01-04 Peter Bartok <pbartok@novell.com>
10051 * Form.cs (ShowDialog): Set parent to owner, if provided
10052 * GroupBox.cs: Removed unused vars
10054 - Added GetHashCode() for Document and LineTag classes
10055 - Removed unused variables
10056 - Added CharIndexToLineTag() and LineTagToCharIndex() methods
10057 to allow translation between continuous char position and line/pos
10058 * CheckBox.cs: Removed vars that are provided by base class
10059 * RadioButton.cs: Removed vars that are provided by base class, added
10060 new keyword where required
10061 * LinkLabel.cs: Added new keyword where required
10062 * Control.cs (WndProc): Removed unused variable
10064 - Finished SelectionLength property
10065 - Implemented SelectionStart property
10066 - Implemented Text property
10067 - Removed unused vars
10068 * MessageBox.cs: Added new keyword where required
10069 * TextBox.cs: Removed Text property code (now in TextBoxBase), fixed
10071 * MenuAPI.cs: Added new keyword where required
10072 * ButtonBase.cs: Removed vars that are provided by base class, added
10073 new keyword where required
10074 * ThemeWin32Classic.cs (DrawMonthCalendarDate): Now cast Math.Floor
10075 argument to double, to allow compiling with csc 2.0 (Atsushi ran
10077 * Application.cs (Run): Now triggers the ThreadExit event
10078 * CommonDialog.cs: Added new keyword where required; now properly sets
10079 parent (owner) for dialog
10080 * XplatUIX11.cs: Commented out unused vars
10081 * StatusBar.cs: Fixed signature for Text property
10082 * TabPage.cs: Undid Jordi's removal of unused var, now using the var
10084 2005-01-04 Jordi Mas i Hernandez <jordi@ximian.com>
10086 * ComboBox.cs, TabPage.cs, MenuAPI.cs, ThemeWin32Classic.cs,
10087 TrackBar.cs, MonthCalendar.cs: remove unused vars
10089 2005-01-03 Jackson Harper <jackson@ximian.com>
10091 * ThemeWin32Classic.cs:
10092 * X11Keyboard.cs: Remove unused vars.
10094 2005-01-03 Peter Bartok <pbartok@novell.com>
10097 - set_Text: Tied into TextControl
10098 - set_TextAlignment: Tied into TextControl
10100 - Added alignment properties and implemented alignment handling
10101 and drawing (still has a bug, not generating proper expose events)
10102 - Added new Line() constructor to allow passing the line alignment
10103 - Fixed selection setting, properly handling end<start now
10104 - Added aligment considerations to RecalculateDocument()
10106 - Now properly enforces control height for single line controls
10107 - Added support for CharacterCasing
10108 - Added IsInputKey override
10109 - Fixed Keys.Enter logic
10110 - Added SetBoundsCore override
10111 - Fixed mouse selection handling
10113 2005-01-03 Jackson Harper <jackson@ximian.com>
10116 - Collapse and uncheck all nodes when CheckBoxes is disabled.
10117 - Checkboxes are always aligned to the bottom of the node,
10118 regardless of item height.
10119 - Use the node bounds to draw the text so we can center it when
10120 the item height is greater then the font height.
10121 - Node::Bounds are only the text part of the node.
10122 * TreeNode.cs: New method to combine collapsing and unchecking all
10125 2005-01-02 Jackson Harper <jackson@ximian.com>
10127 * TreeView.cs: Draw checkmarks, handle detecting check mark clicks
10128 * TreeNode.cs: Add a bounding box for the checkbox, refresh the
10129 tree when a check is changed. TODO: Only refresh the checked node.
10131 2004-12-30 Jackson Harper <jackson@ximian.com>
10133 * TreeView.cs: Draw checkbox boxes when checkboxes are enabled.
10134 * TreeNode.cs: When collapsing make sure to never collapse the
10137 2004-12-29 Jackson Harper <jackson@ximian.com>
10139 * TreeView.cs: Align lines to the bottom of plus minus boxes properly.
10141 2004-12-28 Zoltan Varga <vargaz@freemail.hu>
10143 * X11Structs.cs X11Keyboard.cs XplatUIX11.cs: Fix 64 bit issues.
10145 2004-12-28 Peter Bartok <pbartok@novell.com>
10147 * MessageBox.cs (get_CreateParams): Don't use owner var if it's
10150 2004-12-28 Peter Bartok <pbartok@novell.com>
10152 * Control.cs (WndProc): Added WM_HELP handler, now generates
10153 HelpRequested event
10154 * Form.cs: Added HelpButton property and required support code
10155 * XplatUIStructs.cs: Added HELPINFO structure for WM_HELP handling
10157 2004-12-28 Peter Bartok <pbartok@novell.com>
10160 - Made DialogForm.owner variable internal
10161 - Added check to ensure owner form is set before setting
10162 owner properties in CreateParams
10164 2004-12-28 Geoff Norton <gnorton@customerdna.com>
10166 * XplatUIOSX.cs: Implement mouse hovering. Fix QDPoint struct to avoid
10167 swizzling. Implement ClientToScreen and ScreenToClient. Implement
10168 GetCursorPos. Fix major visibility issues. Rework the windowing
10169 system to support borderless/titleless windows (implements menus).
10170 Fix GetWindowPos. Implement initial background color support for
10173 2004-12-28 Peter Bartok <pbartok@novell.com>
10175 * Form.cs (get_CreateParams): Make sure we have an owner before using
10176 the owner variable. Implement proper default if no owner exists
10178 2004-12-28 Peter Bartok <pbartok@novell.com>
10180 * In preparation for making Managed.Windows.Forms the default build target
10181 for System.Windows.Forms, the following stubbed files were added.
10182 Dialogs are currently being implemented by contributors and are only
10183 short-term place holders.
10184 * ColorDialog.cs: Initial check-in (minmal stub)
10185 * DataGrid.cs: Initial check-in (minimal stub)
10186 * DataGridLineStyle.cs: Initial check-in (minimal stub)
10187 * DataGridParentRowsLabelStyle.cs: Initial check-in (minimal stub)
10188 * DataGridTableStyle.cs: Initial check-in (minimal stub)
10189 * FontDialog.cs: Initial check-in (minimal stub)
10190 * FileDialog.cs: Initial check-in (minimal stub)
10191 * GridColumnStylesCollection.cs: Initial check-in (minimal stub)
10192 * GridTableStylesCollection.cs: Initial check-in (minimal stub)
10193 * OpenFileDialog: Initial check-in (minimal stub)
10194 * IComponentEditorPageSite.cs: Initial check-in
10195 * Splitter.cs: Initial check-in (for Jackson)
10196 * SplitterEventArgs.cs: Initial check-in (for Jackson)
10197 * SplitterEventHandler.cs: Initial check-in (for Jackson)
10198 * TextBox.cs: Initial check-in; still needs some wiring to
10199 TextControl backend
10200 * Form.cs: Implemented ControlBox property
10201 * MessageBox.cs: Added proper coding for Minimize/Maximize/ControlBox
10202 * CommonDialog.cs: Added proper coding for Minimize/Maximize/ControlBox
10203 * TextControl.cs: Added selection functionality; added todo header
10205 - Implemented Lines property
10206 - Implemented TextHeight property
10207 - Implemented SelectedText property
10208 - Implemented SelectionLength property
10209 - Implemented SelectAll method
10210 - Implemented ToString method
10211 - Removed and cleaned up some debug code
10212 - Implemented (still buggy) mouse text selection
10214 2004-12-27 Jordi Mas i Hernandez <jordi@ximian.com>
10216 * ComboBox.cs: Complete DropDownList implementation, fixes.
10218 2004-12-26 Jordi Mas i Hernandez <jordi@ximian.com>
10220 * ThemeWin32Classic, Theme.cs: ComboBox drawing methods
10221 * ComboBoxStyle.cs: ComboBoxStyle enum
10222 * ComboBox.cs: Initial work on ComboBox control
10224 2004-12-21 Peter Bartok <pbartok@novell.com>
10226 * Control.cs (ctor, CreateParams): Moved setting of is_visible
10227 forward so that anything that creates a window gets the default,
10228 also no longer uses Visible property in CreateParams to avoid
10229 walking up the parent chain and possibly get the wrong visible
10230 status. Fixed IsVisible to no longer walk up to the parent.
10232 2004-12-21 Peter Bartok <pbartok@novell.com>
10234 * Form.cs (ShowDialog): Unset modality for the proper window
10236 2004-12-20 Peter Bartok <pbartok@novell.com>
10238 * CommonDialog.cs: Initial check-in
10240 2004-12-20 Peter Bartok <pbartok@novell.com>
10242 * Control.cs (Visible): Now uses the parent window instead of the
10243 client area window for the property
10246 - ShowDialog(): Now uses the proper window for modality
10247 - The default visibility state for the form parent is now false. This
10248 will prevent the user from seeing all the changes to the form and
10249 its controls before the application hits Application.Run()
10250 - Removed some stale commented out code
10253 - Added FindWindow() method to have a method to check for existence
10255 - Added ability to override default exception handling (for example
10256 when debugging with VS.Net; to do this the ExternalExceptionHandler
10258 - Removed some useless debug output
10261 - Removed r37929 (SetModal patch from Ashwin Bharambe), was
10262 not working as expected
10263 - Implemented modal_window stack and checking for _WM_ACTIVE_WINDOW
10264 property to allow switching back to the modal window if focus is
10265 given to another one of our windows (Application Modal)
10266 - Now only sets override_redirect if we create a window
10268 - Moved EventMask selection before mapping of newly created window
10269 so we can catch the map event as well
10270 - Implemented Activate() method via the _WM_ACTIVE_WINDOW property
10271 - Added various Atom related DllImports
10272 - Implemented Exit() method
10273 - .ctor() : No longer shows window if WS_VISIBLE is not defined
10274 in the CreateParams
10276 * MessageBox.cs: Now properly deals with the FormParent window by
10277 providing an override the FormParent CreateParams property to
10278 set as POPUP instead of OVERLAPPED window.
10280 2004-12-19 Geoff Norton <gnorton@customerdna.com>
10282 * XplatUIOSX.cs: Implement DestroyWindow. Implement ScrollWindow
10283 Minor code cleanup.
10285 2004-12-19 Geoff Norton <gnorton@customerdna.com>
10287 * XplatUIOSX.cs (SetModal): Implement this method on OSX.
10289 2004-12-18 Peter Bartok <pbartok@novell.com>
10291 * XplatUIX11.cs (SetModal): Applied patch from Ashwin Bharambe,
10292 implementing SetModal() method
10294 2004-12-18 Peter Bartok <pbartok@novell.com>
10296 * X11Structs.cs (XGCValues): Fixed type of function element
10297 * XplatUI.cs: Added ScrollWindow() method
10298 * XplatUIDriver.cs: Added ScrollWindow() abstract
10299 * XplatUIWin32.cs: Implemented ScrollWindow() method
10300 * XplatUIX11.cs: Implemented ScrollWindow() method
10301 * XplatUIOSX.cs: Stubbed out ScrollWindow() method
10303 2004-12-17 Geoff Norton <gnorton@customerdna.com>
10305 * XplatUIOSX.cs: Fix cursor to use an Invert instead of drawing it
10306 Some more keyboard support (INCOMPLETE)
10308 2004-12-17 Peter Bartok <pbartok@novell.com>
10311 - Added color attribute to line tags.
10312 - Added color argument to all functions dealing with tags
10313 - Added color argument support to various functions
10314 - Fixed miss-calculation of baseline/shift in certain circumstances
10316 * TextBoxBase.cs: Added new color option to test code
10318 2004-12-17 Jackson Harper <jackson@ximian.com>
10321 * MonthCalendar.cs: Signature fixes
10323 2004-12-17 Geoff Norton <gnorton@customerdna.com>
10325 * XplatUIOSX.cs: Find the missing caret; caret was dissappearing after a
10326 keyboard event moved it. Create a new graphics context for each paint resolves this
10328 2004-12-17 Geoff Norton <gnorton@customerdna.com>
10330 * XplatUIOSX.cs: Fix hard cpu eat on loop with existing timers,
10331 Make caret exist and go blink blink. Initial keyboard support.
10332 Fix exception handler, Add Invalidate support. Change way RefreshWindow
10335 2004-12-17 Jackson Harper <jackson@ximian.com>
10337 * XplatUIStructs.cs: Updated set of virtual keycodes.
10338 * KeyboardLayouts.cs: SCROLL_LOCK is now SCROLL
10340 2004-12-17 Jackson Harper <jackson@ximian.com>
10342 * XplatUIX11.cs: Prune old keyboard code.
10344 2004-12-17 Jackson Harper <jackson@ximian.com>
10346 * XplatUIX11.cs: When generating mouse wparams get the modifier
10347 keys from the ModifierKeys property.
10349 2004-12-17 Jackson Harper <jackson@ximian.com>
10351 * X11Keyboard.cs: Send up/down input when generating
10352 messages. Remove some unused vars.
10354 2004-12-17 Jackson Harper <jackson@ximian.com>
10357 * TreeView.cs: get rid of warnings.
10359 2004-12-17 Jackson Harper <jackson@ximian.com>
10361 * XplatUIStructs.cs: Fix a couple wrong virtual keycodes.
10363 2004-12-17 Jordi Mas i Hernandez <jordi@ximian.com>
10365 * ListBox.cs: bug fixes, changes for CheckedListBox.cs
10366 CheckedListBox.cs: Implementation
10368 2004-12-17 Peter Bartok <pbartok@novell.com>
10370 * TextControl.cs (RecalculateLine): Fixed baseline aligning calcs
10372 2004-12-16 Peter Bartok <pbartok@novell.com>
10375 - InsertCharAtCaret(): Fixed start pos fixup
10376 - CaretLine_get: No longer derives the line from the tag, the tag
10377 could be stale if lines in the document have been added or deleted
10378 - RebalanceAfterDelete(): Fixed bug in balancing code
10379 - RebalanceAfterAdd(): Fixed really stupid bug in balancing code
10380 - Line.Streamline(): Now can also elminate leading empty tags
10381 - DumpTree(): Added a few more tests and prevented exception on
10383 - Added Debug section for Combining lines
10384 - Delete(): Now copies all remaining properties of a line
10387 - Left mousebutton now sets the caret (and middle button still acts
10388 as formatting tester, which must go away soon)
10389 - Added Debug section for Deleting/Combining lines
10390 - Fixed calculations for UpdateView after Combining lines
10392 2004-12-16 Peter Bartok <pbartok@novell.com>
10394 * TextControl.cs: Now properly aligns text on a baseline, using the
10395 new XplatUI.GetFontMetrics() method. Simplified several calculations
10396 * TextBoxBase.cs: Moved #endif to allow compiling if Debug is not
10399 2004-12-16 Peter Bartok <pbartok@novell.com>
10401 * XplatUI.cs: Added GetFontMetrics() method
10402 * XplatUIDriver.cs: Added GetFontMetrics() abstract
10403 * XplatUIX11.cs: Implemented GetFontMetrics() method, now calls
10404 into libgdiplus, our private GetFontMetrics function
10405 * XplatUIOSX.cs: Implemented GetFontMetrics() method, same as X11
10406 * XplatUIWin32.cs: Implemented GetFontMetrics() method
10408 2004-12-16 Jackson Harper <jackson@ximain.com>
10410 * XplatUIStruct.cs: Add enum for dead keys
10411 * X11Keyboard.cs: Map and unmap dead keys.
10413 2004-12-16 Jackson Harper <jackson@ximian.com>
10415 * X11Keyboard.cs: Detect and use the num lock mask.
10417 2004-12-16 Peter Bartok <pbartok@novell.com>
10419 * Control.cs (CreateGraphics): Added check to make sure the
10420 handle of the window exists before calling Graphics.FromHwnd()
10422 2004-12-16 Peter Bartok <pbartok@novell.com>
10424 * TextBoxBase.cs: Initial check-in. DO NOT TRY TO USE THIS YET. It
10425 contains a lot of code that's not supposed to be there for the
10426 real thing, but required for developing/testing the textbox
10429 2004-12-16 Peter Bartok <pbartok@novell.com>
10432 - Fixed Streamline method
10433 - Added FindTag method to Line
10434 - Added DumpTree method for debugging
10435 - Added DecrementLines() method for deleting lines
10436 - Fixed UpdateView to update the cursor to end-of-line on single-line
10438 - Added PositionCaret() method
10439 - Fixed MoveCaret(LineDown) to move into the last line, too
10440 - Added InsertChar overload
10441 - Fixed InsertChar tag offset calculations
10442 - Added DeleteChar() method
10443 - Added Combine() method for folding lines
10444 - Fixed Delete() method, no longer allocates wasted Line object and
10445 now copies all properties when swapping nodes
10446 - Delete() method now updates document line counter
10448 2004-12-15 Jackson Harper <jackson@ximian.com>
10450 * XplatUIX11.cs: Get the modifier keys from the keyboard driver
10451 * X11Keyboard.cs: Expose the currently selected modifier keys
10452 through a property.
10454 2004-12-15 Peter Bartok <pbartok@novell.com>
10456 * TextControl.cs: Initial check-in. Still incomplete
10458 2004-12-15 Jackson Harper <jackson@ximian.com>
10461 * TreeView.cs: Fix build on csc (second time today ;-))
10463 2004-12-15 Jackson Harper <jackson@ximian.com>
10465 * TreeView.cs: Store the treenodes plus/minus box bounds when it
10466 is calculated and use this for click testing.
10467 * TreeNode.cs: Add functionality to store the nodes plus minus box bounds.
10469 2004-12-15 Jackson Harper <jackson@ximian.com>
10471 * TreeView.cs: Pass the nodes image index to the image list when
10472 drawing that image.
10474 2004-12-15 Jackson Harper <jackson@ximian.com>
10476 * X11Keyboard.cs: Set messages hwnd.
10477 * XplatUIX11.cs: Pass proper hwnd wot keyboard driver. Set hwnd on
10478 post_message calls.
10480 2004-12-15 Jackson Harper <jackson@ximian.com>
10482 * X11Keyboard.cs: Fix to compile with csc.
10484 2004-12-15 Jackson Harper <jackson@ximian.com>
10486 * X11Structs.cs: Add key mask values
10487 * XplatUIStruct.cs: Add keyboard event flags, and keyboard definitions
10488 * X11Keyboard.cs: New file - Extrapolates and interpolates key
10489 down/up foo into WM_CHAR foo
10490 * KeyboardLayouts.cs: Common keyboard layouts
10491 * XplatUIX11.cs: Add the keyboard driver. Add functionality to
10492 post messages into the main queue.
10494 2004-12-13 Jordi Mas i Hernandez <jordi@ximian.com>
10496 * Button.cs: implement ProcessMnemonic
10497 * ThemeWin32Classic.cs: use ResPool (caching) instead of creating
10499 * Control.cs: fixes IsMnemonic (support for &&, case insensitive, etc)
10500 * ButtonBase.cs: Show HotkeyPrefix (not the &)
10502 2004-12-12 John BouAntoun <jba-mon@optusnet.com.au>
10504 * MonthCalendar.cs: Implemented click-hold for next/previous month
10507 2004-12-11 Peter Bartok <pbartok@novell.com>
10510 - Added XKeyboardState (moved from XplatUIX11.cs)
10511 - Added XCreateGC related enums and structures
10512 - Added GXFunction for XSetFunction
10514 * XplatUIStructs.cs: Added missing WS_EX_xxx definitions
10516 * XplatUI.cs: Added CreateCaret(), DestroyCaret(), SetCaretPos() and
10517 CaretVisible() calls
10519 * ToolTip.cs: Added code to prevent stealing focus from app windows
10521 * XplatUIDriver.cs: Added abstracts for caret functions (CreateCaret,
10522 DestroyCaret, SetCaretPos and CaretVisible)
10525 - Added implementation for caret functions
10526 - Moved hover variables into a struct, to make it a bit easier
10527 on the eyes and to debug
10528 - Removed XKeyboardState (moved to XplatUIX11.cs)
10529 - Moved Keyboard properties into the properties region
10531 * Control.cs (get_Region): Control.CreateGraphics is the appropriate
10532 call to get a graphics context for our control
10534 * XplatUIOSX.cs: Added empty overrides for the new caret functions
10536 * TreeView.cs: Fixed bug. No matter what color was set it would always
10537 return SystemColors.Window
10539 * XplatUIWin32.cs: Implemented caret overrides
10541 2004-12-10 Jordi Mas i Hernandez <jordi@ximian.com>
10543 * ListBox.cs: fire events, implement missing methods and properties,
10546 2004-12-10 John BouAntoun <jba-mono@optusnet.com.au>
10548 * MonthCalendar.cs: invalidation bug fixing
10549 * ThemeWin32Classic.cs: paint fixing
10551 2004-12-09 Geoff Norton <gnorton@customerdna.com>
10553 * XplatUIOSX.cs: Refactor to pass the real hwnd into Graphics.FromHwnd, we
10554 prepare the CGContextRef there now.
10556 2004-12-09 John BouAntoun <jba-mono@optusnet.com.au>
10558 * MonthCalendar.cs:
10559 - optimisationL only invalidate areas that have changed
10560 * ThemeWin32Classic.cs:
10561 - only paint parts that intersect with clip_area
10563 2004-12-09 Peter Bartok <pbartok@novell.com>
10565 * Application.cs: Undid changes from r37004 which cause problems
10568 2004-12-09 Ravindra <rkumar@novell.com>
10570 * ToolBar.cs: Added support for displaying ContextMenu
10571 attached to a button on ToolBar.
10572 * ToolBarButton.cs: Uncomment/fixed the DropDownMenu
10575 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
10577 * Label.cs: autosize works in text change and removes unnecessary
10580 2004-12-09 Jordi Mas i Hernandez <jordi@ximian.com>
10582 * ThemeWin32Classic.cs, XplatUIOSX.cs, XplatUIWin32.cs:
10585 2004-12-08 Geoff Norton <gnorton@customerdna.com>
10587 * XplatUIOSX.cs: Added mouse move/click/grab support
10588 Remove some debugging WriteLines not needed anymore.
10589 Add window resizing/positioning.
10590 Fix visibility on reparenting.
10592 2004-12-08 Peter Bartok <pbartok@novell.com>
10594 * XplatUIOSX.cs: Added Idle event, now compiles on VS.Net
10596 2004-12-07 Geoff Norton <gnorton@customerdna.com>
10598 * XplatUIOSX.cs: Initial checkin
10599 * XplatUI.cs: Use the Quartz driver if the environment is set to use it
10601 2004-12-03 Ravindra <rkumar@novell.com>
10603 * ListView.cs: Added some keybindings and fixed scrolling.
10604 ScrollBars listen to ValueChanged event instead of Scroll
10605 Event. This would let us take care of all changes being
10606 done in the scrollbars' values programmatically or manually.
10607 * ListView.cs (CanMultiselect): Added a check for shift key.
10608 * ListView.cs (EnsureVisible): Fixed. Do proper scrolling.
10609 * ListViewItem.cs (Clone): Fixed. We need to make a copy
10610 of ListViewSubItemCollection as well.
10612 2004-12-06 Peter Bartok <pbartok@novell.com>
10614 * Control.cs (Parent): Added check and exception to prevent
10617 2004-12-03 Jordi Mas i Hernandez <jordi@ximian.com>
10619 * ListBox.cs: implemented clipping, selection single and multiple,
10622 2004-12-03 Ravindra <rkumar@novell.com>
10624 * ListView.cs (ListView_KeyDown):
10625 * ListView.cs (ListView_KeyUp): Fixed multiple selection handling
10626 when CTRL key is pressed.
10627 * ListViewItem.cs (Selected): Fixed setting the property.
10629 2004-12-03 Marek Safar <marek.safar@seznam.cz>
10631 * Application.cs (OnThreadException): Use ThreadExceptionDialog.
10633 * Form.cs: Add ActiveForm, FormBorderStyle, MaximizeBox,
10634 MinimizeBox, ShowInTaskbar, TopMost properties.
10636 * ThreadExceptionDialog.cs: Implemented (disabled TextBox until
10637 will be implemented).
10639 2004-12-03 Marek Safar <marek.safar@seznam.cz>
10641 * OwnerDrawPropertyBag.cs: New internal parameterless ctor.
10643 * TreeNode.cs: Implemented ICloneable, Fixed to pass my simple
10646 * TreeNodeCollection.cs: Add exception throwing for Add,AddRange.
10648 * TreeView.cs: BackColor is Colors.Window.
10650 2004-12-01 Jackson Harper <jackson@ximian.com>
10652 * TreeView.cs: When resizing the tree if the user is making it
10653 smaller we don't get expose events, so we need to handle adding
10654 the horizontal scrollbar in the size changed handler as well as
10655 the expose handler.
10657 2004-12-02 Jordi Mas i Hernandez <jordi@ximian.com>
10659 * DrawItemState.cs: fixes wrong enum values
10661 2004-12-01 Jackson Harper <jackson@ximian.com>
10663 * TreeView.cs: Resize the hbar as well as the vbar on resize.
10665 2004-12-01 Jackson Harper <jackson@ximian.com>
10667 * NodeLabelEditEventArgs.cs:
10668 * NodeLabelEditEventHandler.cs:
10669 * OpenTreeNodeEnumerator.cs:
10671 * TreeNodeCollection.cs:
10673 * TreeViewAction.cs:
10674 * TreeViewCancelEventArgs.cs:
10675 * TreeViewCancelEventHandler.cs:
10676 * TreeViewEventArgs.cs:
10677 * TreeViewEventHandler.cs: Initial implementation.
10679 2004-12-01 Ravindra <rkumar@novell.com>
10681 * ListView.cs (CalculateListView): Fixed scrolling related
10682 calculations. Also, removed some debug statements from other
10684 * ListViewItem.cs: Changed access to 'selected' instance variable
10685 from private to internal.
10686 * ThemeWin32Classic.cs (DrawListViewItem): Fixed SubItem drawing.
10688 2004-12-01 Jordi Mas i Hernandez <jordi@ximian.com>
10690 * ThemeWin32Classic.cs: remove cache of brush and pens for
10691 specific controls and use the global system, fixes scrollbutton
10692 bugs (for small sizes, disabled, etc)
10694 * ScrollBar.cs: does not show the thumb for very small controls
10695 (as MS) and allow smaller buttons that the regular size
10697 2004-12-01 Miguel de Icaza <miguel@ximian.com>
10699 * UpDownBase.cs: Add abstract methods for the interface.
10700 Add new virtual methods (need to be hooked up to TextEntry when it
10702 Add override methods for most features.
10703 Computes the size, forces the height of the text entry.
10705 * NumericUpDown.cs: Put here the current testing code.
10707 * Set eol-style property on all files that do not have mixed line
10708 endings, to minimize the future problems. There are still a few
10709 files with mixed endings, and someone should choose whether they
10710 want to move it or not.
10712 2004-11-30 Jordi Mas i Hernandez <jordi@ximian.com>
10714 * MonthCalendar.cs, ListView.cs: use Theme colours instead of
10717 2004-11-30 Ravindra <rkumar@novell.com>
10719 * ThemeWin32Classic.cs (DrawListViewItem): Fixed selected item
10720 drawing and replaced use of SystemColors by theme colors.
10721 * ListView.cs (ListView_Paint): Fixed painting done during scrolling.
10722 * ListView.cs (ListViewItemCollection.Add): Throw exception when
10723 same ListViewItem is being added more than once.
10725 2004-11-30 John BouAntoun <jba-mono@optusnet.com.au>
10727 * MonthCalendar.cs:
10728 - ControlStyles love to make the control not flicker
10730 2004-11-30 Peter Bartok <pbartok@novell.com>
10732 * CharacterCasing.cs: Added
10734 2004-11-29 Peter Bartok <pbartok@novell.com>
10736 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
10737 TreeViewAction.cs, TreeViewEventArgs.cs: Removed new files.
10738 I am removing these files as they conflict with already completed
10739 work. While it is fantastic to get contributions to MWF, I
10740 respectfully ask that everyone please coordinate their contributions
10741 through mono-winforms-list or #mono-winforms at this time. We're
10742 explicitly avoiding stubbing and don't want controls that don't have
10743 their basic functionality implemented in svn. Please also see
10744 http://www.mono-project.com/contributing/winforms.html
10747 2004-11-29 Marek Safar <marek.safar@seznam.cz>
10749 * Application.cs (ModalRun): Don't hang after exit.
10751 * Theme.cs: New TreeViewDefaultSize property.
10753 * ThemeWin32Classic.cs: Replaced hardcoded defaultWindowBackColor
10754 with less hardcoded SystemColors constant.
10755 Implemented TreeViewDefaultSize.
10757 * TreeNode.cs, TreeNodeCollection.cs, TreeView.cs,
10758 TreeViewAction.cs, TreeViewEventArgs.cs: New files.
10761 2004-11-29 John BouAntoun <jba-mono@optusnet.com.au>
10763 * MonthCalendar.cs:
10764 - Fix NextMonthDate and PrevMonthDate click moving calendar
10766 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
10768 * MonthCalendar.cs:
10769 - Fix usage of ScrollChange Property when scrolling months
10771 2004-11-26 Jordi Mas i Hernandez <jordi@ximian.com>
10773 * Menu.cs, MainMenu.cs, MenuItem.cs, MenuAPI.cs
10774 - Fixes menu destroying
10775 - Support adding and removing items on already created menus
10777 2004-11-26 John BouAntoun <jba-mono@optusnet.com.au>
10779 * MonthCalendar.cs:
10780 - Re-worked all bolded dates handling to match win32
10781 * ThemeWin32Classic.cs:
10782 - Fixed rendering with bolded dates
10784 2004-11-25 Jordi Mas i Hernandez <jordi@ximian.com>
10786 * ListBox.cs, Theme.cs, ThemeWin32Classic.cs:
10787 - Horizontal scroolbar
10792 2004-11-25 John BouAntoun <jba-mono@optusnet.com.au>
10794 * MonthCalendar.cs:
10795 - Fix Usage of MaxSelectionCount from SelectionRange
10796 - Fixed Shift + Cursor Selection
10797 - Fixed Shift + (Pg up/Pg dn, Home/End) selection
10798 - Fixed normal cursor selection to be compat with win32
10799 - Fixed Shift + Mouse Click selection
10801 2004-11-24 Peter Bartok <pbartok@novell.com>
10803 * XplatUI.cs (DispatchMessage): Switched to return IntPtr
10804 * XplatUIDriver.cs (DispatchMessage): Switched to return IntPtr
10806 - CreatedKeyBoardMsg now updates keystate with Alt key
10807 - Added workaround for timer crash to CheckTimers, Jackson will
10808 develop a proper fix and check in later
10809 - Implemented DispatchMessage
10810 - Removed calling the native window proc from GetMessage (call
10811 now moved to DispatchMessage)
10813 * KeyEventArgs.cs (Constructor): Now combines modifierkeys into
10814 the keydata (Fixes bug #69831)
10817 - (DispatchMessage): Switched to return IntPtr
10818 - Added DllImport for SetFocus
10820 2004-11-24 Ravindra <rkumar@novell.com>
10822 * ThemeWin32Classic.cs: Fixed ListView border and checkbox
10823 background drawing.
10824 * ListViewItem.cs: Fixed various properties, calculations
10825 and Clone() method. Fixed ListViewSubItemCollection.Clear() method.
10826 * ListView.cs: Fixed calculations, BackColor, ForeColor properties
10827 and some internal properties. Fixed MouseDown handler and Paint
10830 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
10832 * MonthCalendar.cs: Add TitleMonth ContextMenu handling
10834 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
10836 * ContainerControl.cs: correct accidental check in of local changes
10838 2004-11-24 John BouAntoun <jba-mono@optusnet.com.au>
10840 * ThemeWin32Classic.cs:
10841 - Fixed Drawing Last month in grid (sometimes not showing)
10842 * MonthCalendar.cs:
10843 - Fixed title width calculation bug (makeing title small)
10845 2004-11-23 Peter Bartok <pbartok@novell.com>
10848 - Added generation of WM_MOUSEHOVER event
10849 - Added missing assignment of async_method atom
10850 - Fixed WM_ERASEBKGND; now only redraws the exposed area
10852 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
10854 * ThemeWin32Classic.cs:
10855 - Fixed Drawing of today circle when showtodaycircle not set
10856 - fixed drawing of first and last month in the grid (gay dates)
10857 * MonthCalendar.cs:
10858 - Fixed Drawing of today circle
10859 - Fixed drawing of grady dates
10860 - Fixed HitTest for today link when ShowToday set to false
10861 - Fixed DefaultSize to obey ShowToday
10863 2004-11-23 John BouAntoun <jba-mono@optusnet.com.au>
10865 * ThemeWin32Classic.cs: Fixed DrawMonthCalendar and private support methods
10866 * System.Windows.Forms/Theme.cs
10867 * MonthCalendar.cs: added for MonthCalendar
10868 * SelectionRange.cs: added for MonthCalendar
10869 * Day.cs: added for MonthCalendar: added for MonthCalendar
10870 * DateRangeEventArgs.cs: added for MonthCalendar
10871 * DateRangeEventHandler.cs: added for MonthCalendar
10873 2004-11-22 Ravindra <rkumar@novell.com>
10875 * ThemeWin32Classic.cs: Fixed ListViewDrawing with 'UseItemStyleForSubItems'
10878 2004-11-22 Miguel de Icaza <miguel@ximian.com>
10880 * UpDownBase.cs (InitTimer): Use prehistoric C# 1.0 notation for
10883 * NumericUpDown.cs: Added new implementation.
10884 * UpDownBase.cs: Added new implementation.
10886 * XplatUIWin32.cs (KeyboardSpeed, KeyboardDelay): added default
10889 * XplatUIX11.cs (KeyboardSpeed, KeyboardDelay): added default
10892 * XplatUIDriver.cs ((KeyboardSpeed, KeyboardDelay): added new
10895 2004-11-21 Miguel de Icaza <miguel@ximian.com>
10897 * Timer.cs (Dispose): Should call the base dispose when
10900 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
10902 * ScrollBar.cs: updates thumb position when max, min or increment
10905 2004-11-21 Ravindra <rkumar@novell.com>
10907 * ListView.cs: Implemented item selection, activation and
10908 column header style. Fixed properties to do a redraw, if
10909 required. Added support for MouseHover, DoubleClick, KeyDown
10910 and KeyUp event handling and some minor fixes.
10911 * ListViewItem.cs: Fixed constructor.
10912 * ThemeWin32Classic.cs: Improved drawing for ListView.
10914 2004-11-19 Jordi Mas i Hernandez <jordi@ximian.com>
10916 * ThemeWin32Classic.cs: initial listbox drawing code
10917 * DrawMode.cs: new enumerator
10918 * ListControl.cs: stubbed class
10919 * ListBox.cs: initial implementation
10920 * Theme.cs: new methods definitions
10921 * SelectionMode.cs: new enumerator
10923 2004-11-17 Peter Bartok <pbartok@novell.com>
10925 * XplatUIWin32.cs: Added double-click events to the class style
10926 * Control.cs (WndProc):
10927 - Added handling of click-count to MouseDown/ MouseUp events.
10928 - Added handling of middle and right mouse buttons
10929 - Removed old debug code
10931 2004-11-17 Jackson Harper <jackson@ximian.com>
10933 * XplatUIX11.cs: Use the new Mono.Unix namespace.
10935 2004-11-17 Ravindra <rkumar@novell.com>
10937 * ListView.cs: Added event handling for MouseMove/Up/Down.
10938 * ColumnHeader.cs: Added a read-only internal property 'Pressed'.
10939 * ThemeWin32Classic.cs: We need to clear the graphics context and
10940 draw column header in a proper state.
10943 2004-11-17 Jordi Mas i Hernandez <jordi@ximian.com>
10945 * Menu.cs: fixes signature
10947 2004-11-16 Peter Bartok <pbartok@novell.com>
10949 * XplatUIX11.cs (GetMessage): Implemented generation of
10950 double click mouse messages
10952 2004-11-12 Jordi Mas i Hernandez <jordi@ximian.com>
10954 * Form.cs, MainMenu.cs, MenuAPI.cs: tracker should be for tracking session
10957 2004-11-11 Peter Bartok <pbartok@novell.com>
10959 * HandleData.cs: Added Visible property
10960 * XplatUIX11.cs (IsVisible): Now uses Visible property from
10962 * XplatUIX11.cs: Removed old debug leftovers
10963 * XplatUIX11.cs (DefWndProc): Added WM_ERASEBKGND handler
10964 * Control.cs (WndProc): Removed old debug leftovers,
10965 streamlined handling of WM_WINDOWPOSCHANGED, removed un-
10966 needed WM_SIZE handling
10968 2004-11-11 Jackson Harper <jackson@ximian.com>
10970 * OwnerDrawPropertyBag.cs:
10971 * TreeViewImageIndexConverter.cs: Initial implementation
10973 2004-11-10 Jackson Harper <jackson@ximian.com>
10975 * ThemeWin32Classic.cs:
10976 * TabControl.cs: instead of moving tabs by the slider pos just
10977 start drawing at the tab that is offset by the slider. This way
10978 scrolling always moves by exactly one tab.
10980 2004-11-10 Jackson Harper <jackson@ximian.com>
10982 * TabControl.cs: You can only scroll left when the slider has
10983 already ben moved right.
10985 2004-11-10 Jackson Harper <jackson@ximian.com>
10987 * ThemeWin32Classic.cs: Do not draw the selected tab if its not in
10990 2004-11-10 Jackson Harper <jackson@ximian.com>
10992 * ThemeWin32Classic.cs: Don't bother drawing tabs outside of the
10995 2004-11-09 Jackson Harper <jackson@ximian.com>
10997 * TabControl.cs (CalcXPos): New helper method so we can determine
10998 the proper place to start drawing vertical tabs.
10999 * ThemeWin32Classic.cs (DrawTab): Draw right aligned tabs.
11001 2004-11-09 Jackson Harper <jackson@ximian.com>
11003 * TabControl.cs: Calculate sizing and rects for left aligned tabs.
11004 * ThemeWin32Classic.cs (GetTabControl*ScrollRect): Only handle Top
11005 and Bottom, left and right are illegal values for this and
11006 multiline is enabled when the alignment is set to left or right.
11007 (DrawTab): Each alignment block should draw the text itself now
11008 because Left requires special love. Also add rendering for Left
11011 2004-11-09 Jordi Mas i Hernandez <jordi@ximian.com>
11013 * Form.cs, MainMenu.cs, MenuAPI.cs: fixes menu navigation, fixes popups,
11014 does not destroy the windows, removes debugging messages
11016 2004-11-09 jba <jba-mono@optusnet.com.au>
11018 * ThemeWin32Classic.cs
11019 (DrawButtonBase): Fix verticle text rect clipping in windows
11020 (DrawCheckBox): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
11021 rendering and incorrect text rect clipping
11022 (DrawRadioButton): Fix CheckAlign.TopCenter and CheckAlign.BottomCenter
11023 rendering and incorrect text rect clipping
11025 2004-11-08 Jackson Harper <jackson@ximian.com>
11027 * ThemeWin32Classic.cs (DrawTabControl): Render tabs from top to
11028 bottom when they are bottom aligned so the bottoms of the tabs get
11030 * TabControl.cs (DropRow): Move rows up instead of down when the
11031 tab control is bottom aligned.
11033 2004-11-08 13:59 pbartok
11036 - Added handling for various window styles
11037 - Added handling for popup windows
11038 - Added SetTopmost handling
11040 2004-11-08 13:55 pbartok
11043 - Added argument to SetTopmost method
11044 - Fixed broken ClientToScreen function
11046 2004-11-08 13:53 pbartok
11048 * XplatUIStructs.cs:
11049 - Added missing WS_EX styles
11051 2004-11-08 13:53 pbartok
11053 * XplatUI.cs, XplatUIDriver.cs:
11054 - Added argument to SetTopmost
11056 2004-11-08 13:52 pbartok
11059 - Added XSetWindowAttributes structure
11060 - Improved XWindowAttributes structure
11061 - Added SetWindowValuemask enum
11062 - Added window creation arguments enum
11063 - Added gravity enum
11064 - Added Motif hints structure
11065 - Added various Motif flags and enums
11066 - Added PropertyMode enum for property functions
11068 2004-11-08 13:50 pbartok
11071 - Fixed arguments for updated SetTopmost method
11073 2004-11-08 13:49 pbartok
11076 - Fixed arguments for updated SetTopmost function
11077 - Fixed usage of PointToClient
11079 2004-11-08 13:44 pbartok
11082 - Added Clipping of children and siblings
11084 2004-11-08 13:41 pbartok
11087 - Removed SetMenuBarWindow call. We do this in Form.cs
11089 2004-11-08 13:40 jackson
11091 * TabControl.cs, Theme.cs, ThemeWin32Classic.cs: Render the little
11092 scrolling jimmi in the correct location with bottom aligned tabs
11094 2004-11-08 13:36 pbartok
11096 * ContainerControl.cs:
11097 - Implemented BindingContext
11098 - Implemented ParentForm
11100 2004-11-08 12:46 jackson
11102 * TabControl.cs: Put bottom rendered tabs in the right location
11104 2004-11-08 07:15 jordi
11106 * ScrollBar.cs, ThemeWin32Classic.cs: fixes vertical scrollbar and
11109 2004-11-05 17:30 jackson
11111 * TabControl.cs: When selected tabs are expanded make sure they
11112 don't go beyond the edges of the tab control
11114 2004-11-05 14:57 jackson
11116 * TabControl.cs: Reset show_slider so if the control is resized to
11117 a size where it is no longer needed it's not displayed anymore
11119 2004-11-05 13:16 jackson
11121 * TabControl.cs: Make tab pages non visible when added to the
11124 2004-11-05 12:42 jackson
11126 * TabControl.cs: Implement SizeMode.FillToRight
11128 2004-11-05 12:16 jackson
11130 * Control.cs: Do not call CreateHandle if the handle is already
11133 2004-11-05 11:46 jackson
11135 * TabControl.cs: Remove superflous call to CalcTabRows
11137 2004-11-05 09:07 jackson
11139 * XplatUIX11.cs: Update for Mono.Posix changes
11141 2004-11-05 07:00 ravindra
11143 * ListView.cs, ListViewItem.cs: Implemented some methods and fixed
11146 2004-11-04 22:47 jba
11148 * ThemeWin32Classic.cs:
11149 - Fix Button rendering for FlatStyle = Flat or Popup
11150 - Fix RadioButton and CheckBox rendering when Appearance = Button
11151 (normal and flatstyle).
11152 - Correct outer rectangle color when drawing focus rectangle
11153 - Adjust button bounds to be 1 px smaller when focused
11154 - Make button not draw sunken 3d border when pushed (windows compat)
11155 - Fix CPDrawBorder3D to not make bottom right hand corner rounded
11156 - Offset the text in RadioButton and Checkbox when being rendered as
11158 - Hover and Click behaviour for Colored FlatStyle.Flat and Popup
11160 - Fixed disabled rendering for colored flatstyle radiobuttons (both)
11161 - Fixed disabled text rendering for normally rendered radiobuttons
11163 2004-11-04 10:26 jackson
11165 * TabControl.cs: Recalculate tab rows when resizing
11167 2004-11-04 07:47 jordi
11169 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs:
11170 collection completion, drawing issues, missing features
11172 2004-11-04 05:03 ravindra
11175 - We need to recalculate the Thumb area when
11176 LargeChange/maximum/minimum values are changed.
11177 - We set the 'pos' in UpdatePos() method to minimum, if it's less
11178 than minimum. This is required to handle the case if large_change is
11179 more than max, and use LargeChange property instead of large_change
11181 - We return max+1 when large_change is more than max, like MS does.
11183 2004-11-04 04:29 ravindra
11185 * ColumnHeader.cs, ListView.cs, ListViewItem.cs:
11186 - Changed default value signatures (prefixed all with ListView).
11187 - Fixed/implemented layout LargeIcon, SmallIcon and List views for
11189 - Fixed calculations for ListViewItem and implemented Clone()
11192 2004-11-04 04:26 ravindra
11194 * Theme.cs, ThemeWin32Classic.cs:
11195 - Changed default ListView values signatures (prefixed all with
11197 - Fixed default size values for VScrollBar and HScrollBar.
11198 - Fixed DrawListViewItem method.
11200 2004-11-04 04:05 ravindra
11202 * ColumnHeaderStyle.cs: Typo. It should be Nonclickable.
11204 2004-11-04 04:04 ravindra
11206 * ImageList.cs: Implemented the missing overload for Draw method.
11208 2004-11-03 19:29 jackson
11210 * TabControl.cs: Handle dropping rows on selection properly
11212 2004-11-03 11:59 jackson
11214 * TabControl.cs: remove debug code
11216 2004-11-03 11:52 jackson
11218 * TabControl.cs, ThemeWin32Classic.cs: Initial implementation of
11219 the scrolly widgerywoo
11221 2004-11-02 13:52 jackson
11223 * TabControl.cs: Resize the tab pages and tabs when the tab control
11226 2004-11-02 13:40 jackson
11228 * TabControl.cs, ThemeWin32Classic.cs: Move the row with the
11229 selected tab to the bottom
11231 2004-11-02 13:39 jackson
11233 * TabPage.cs: Store the tab pages row
11235 2004-11-02 12:33 jordi
11237 * MenuItem.cs: fixes handle creation
11239 2004-11-02 11:42 jackson
11241 * TabControl.cs: signature fix
11243 2004-11-02 08:56 jackson
11245 * TabControl.cs: Calculate whether the tab is on an edge properly.
11246 Remove top secret debugging code
11248 2004-11-01 19:57 jackson
11250 * TabControl.cs: Add click handling, and proper sizing
11252 2004-11-01 19:47 jackson
11254 * Theme.cs, ThemeWin32Classic.cs: New rendering and sizing code for
11257 2004-11-01 19:39 jackson
11259 * TabPage.cs: add internal property to store the bounds of a tab
11262 2004-10-30 04:23 ravindra
11264 * Theme.cs, ThemeWin32Classic.cs: Drawing ListView and some default
11267 2004-10-30 04:21 ravindra
11269 * ListView.cs, ListViewItem.cs: Added support for scrolling and
11270 fixed calculations.
11272 2004-10-30 03:06 pbartok
11275 - Removed extension of DllImported libs
11277 2004-10-29 09:55 jordi
11279 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: Menu key
11280 navigation, itemcollection completion, menu fixes
11282 2004-10-27 22:58 pbartok
11285 - Now throws a nice error message when no X display could be opened
11287 2004-10-26 13:51 jordi
11289 * ListView.cs: removes warning
11291 2004-10-26 03:55 ravindra
11293 * ColumnHeader.cs, ListView.cs, ListViewItem.cs,
11294 ThemeWin32Classic.cs: Some formatting for my last checkins.
11296 2004-10-26 03:36 ravindra
11298 * ThemeWin32Classic.cs: Implemented DetailView drawing for ListView
11299 control and default values.
11301 2004-10-26 03:35 ravindra
11303 * Theme.cs: Added some default values for ListView control.
11305 2004-10-26 03:33 ravindra
11307 * ToolBar.cs: ToolBar should use the user specified button size, if
11308 there is any. Added a size_specified flag for the same.
11310 2004-10-26 03:33 ravindra
11312 * ColumnHeader.cs: Added some internal members and calculations for
11315 2004-10-26 03:32 ravindra
11317 * ListViewItem.cs: Calculations for ListViewItem.
11319 2004-10-26 03:31 ravindra
11321 * ListView.cs: Added some internal members and calculations for
11324 2004-10-22 13:31 jordi
11326 * MenuAPI.cs: speedup menus drawing
11328 2004-10-22 13:16 jackson
11330 * XplatUIX11.cs: Make sure to update exposed regions when adding an
11333 2004-10-22 11:49 jackson
11337 2004-10-22 11:41 jackson
11339 * Control.cs: Check to see if the window should have its background
11340 repainted by X when drawing.
11342 2004-10-22 11:31 jackson
11344 * XplatUIX11.cs: When invalidating areas only use XClearArea if
11345 clear is true, this way we do not get flicker from X repainting the
11348 2004-10-22 11:28 jackson
11350 * XEventQueue.cs: Queue properly
11352 2004-10-21 09:38 jackson
11354 * XEventQueue.cs: Fix access modifier
11356 2004-10-21 09:36 jackson
11358 * XEventQueue.cs: Don't loose messages
11360 2004-10-21 09:22 jackson
11362 * XEventQueue.cs: Don't loose messages
11364 2004-10-20 04:15 jordi
11366 * BootMode.cs: enum need it by SystemInfo
11368 2004-10-19 21:58 pbartok
11371 - Small sanity check
11373 2004-10-19 21:56 pbartok
11376 - Added private FormParentWindow class which acts as the container
11377 for our form and as the non-client area where menus are drawn
11378 - Added/Moved required tie-ins to Jordi's menus
11379 - Fixed/Implemented the FormStartPosition functionality
11381 2004-10-19 21:52 pbartok
11384 - Removed unneeded locals
11385 - Added code to all size and location properties to understand and
11386 deal with the parent container of Form
11388 2004-10-19 21:33 pbartok
11391 - Fixed to deal with new Form subclasses for menus
11393 2004-10-19 17:48 jackson
11395 * XEventQueue.cs: commit correct version of file
11397 2004-10-19 16:50 jackson
11399 * XEventQueue.cs, XplatUIX11.cs: New optimized event queue
11401 2004-10-19 16:15 jordi
11403 * MenuAPI.cs: MenuBarCalcSize returns the height
11405 2004-10-19 08:31 pbartok
11408 - Added missing call to PreProcessMessage before calling OnXXXKey
11411 2004-10-19 00:04 ravindra
11413 * ToolTip.cs: Fixed constructor.
11415 2004-10-18 09:31 jordi
11417 * MenuAPI.cs: menuitems in menubars do not have shortcuts
11419 2004-10-18 09:26 jordi
11421 * MenuItem.cs: fixes MenuItem class signature
11423 2004-10-18 08:56 jordi
11425 * MenuAPI.cs: prevents windows from showing in the taskbar
11427 2004-10-18 00:28 ravindra
11429 * ToolTip.cs: Suppressed a warning message.
11431 2004-10-18 00:27 ravindra
11433 * Control.cs: Default value of visible property must be true.
11435 2004-10-17 23:19 pbartok
11438 - Complete implementation
11440 2004-10-17 23:19 pbartok
11443 - Added EnableWindow method
11444 - Added SetModal stub
11445 - Added generation of WM_ACTIVATE message (still needs testing)
11446 - Added SetTopMost stub
11447 - Changes to deal with VirtualKeys being moved to XplatUIStructs.cs
11449 2004-10-17 23:17 pbartok
11452 - Removed VirtualKeys to XplatUIStructs
11453 - Implemented SetTopMost method
11454 - Implemented EnableWindow method
11455 - Bugfix in ScreenToClient()
11456 - Bugfixes in ClientToScreen()
11458 2004-10-17 22:51 pbartok
11460 * XplatUIStructs.cs:
11461 - Added WS_EX styles to WindowStyles enumeration
11463 2004-10-17 22:50 pbartok
11465 * XplatUI.cs, XplatUIDriver.cs:
11466 - Added method for enabling/disabling windows
11467 - Added method for setting window modality
11468 - Added method for setting topmost window
11470 2004-10-17 22:49 pbartok
11472 * ThemeWin32Classic.cs:
11473 - Added ToolTip drawing code
11475 2004-10-17 22:49 pbartok
11478 - Added ToolTip abstracts
11480 2004-10-17 22:47 pbartok
11483 - Fixed Form.ControlCollection to handle owner relations
11484 - Added Owner/OwnedForms handling
11485 - Implemented Z-Ordering for owned forms
11486 - Removed unneeded private overload of ShowDialog
11487 - Fixed ShowDialog, added the X11 incarnation of modal handling (or
11489 - Fixed Close(), had wrong default
11490 - Added firing of OnLoad event
11491 - Added some commented out debug code for Ownership handling
11493 2004-10-17 22:16 pbartok
11496 - Fixed/implemented flat list of controls
11498 2004-10-17 22:14 pbartok
11501 - Added code to simulate modal dialogs on Win32
11503 2004-10-17 16:11 jordi
11505 * ScrollBar.cs: disabled scrollbar should not honor any keyboard or
11508 2004-10-17 13:39 jordi
11510 * MenuAPI.cs: menu drawing fixes
11512 2004-10-15 09:10 ravindra
11514 * StructFormat.cs: General Enum.
11516 2004-10-15 09:09 ravindra
11518 * SizeGripStyle.cs: Enum for Form.
11520 2004-10-15 09:08 ravindra
11522 * Theme.cs, ThemeWin32Classic.cs: Added ColumnHeaderHeight property
11523 in Theme for ListView.
11525 2004-10-15 09:06 ravindra
11527 * ColumnHeader.cs: Flushing some formatting changes.
11529 2004-10-15 09:05 ravindra
11531 * ListViewItem.cs: Implemented GetBounds method and fixed coding
11534 2004-10-15 09:03 ravindra
11536 * ListView.cs: Implemented Paint method and fixed coding style.
11538 2004-10-15 07:34 jordi
11540 * MenuAPI.cs: fix for X11
11542 2004-10-15 07:32 ravindra
11544 * ButtonBase.cs, CheckBox.cs, RadioButton.cs:
11545 - Renamed Paint() method to Draw() for clarity. Also, moved
11546 DrawImage() to OnPaint().
11548 2004-10-15 07:25 ravindra
11550 * CheckBox.cs, RadioButton.cs:
11551 - Removed Redraw (), we get it from ButtonBase.
11552 - Implemented Paint (), to do class specific painting.
11554 2004-10-15 07:16 ravindra
11557 - Redraw () is not virtual now.
11558 - Added an internal virtual method Paint (), so that
11559 derived classes can do their painting on their own.
11560 - Modified OnPaint () to call Paint ().
11562 2004-10-15 06:43 jordi
11564 * ContextMenu.cs, DrawItemEventHandler.cs, Form.cs, MainMenu.cs,
11565 MenuAPI.cs, MenuItem.cs: menu work, mainmenu, subitems, etc
11567 2004-10-15 00:30 ravindra
11570 - MessageBox on windows does not have min/max buttons.
11571 This change in CreateParams fixes this on Windows. We
11572 still need to implement this windowstyle behavior in
11575 2004-10-14 05:14 ravindra
11578 - Changed Redraw () to do a Refresh () always.
11579 - Fixed the MouseMove event handling when mouse is pressed,
11580 ie drag event handling.
11581 - Replaced the usage of ToolBarButton.Pressed property to
11582 ToolBarButton.pressed internal variable.
11584 2004-10-14 05:10 ravindra
11586 * ToolBarButton.cs:
11587 - Added an internal member 'inside' to handle mouse move
11588 with mouse pressed ie mouse drag event.
11589 - Changed 'Pressed' property to return true only when
11590 'inside' and 'pressed' are both true.
11591 - Some coding style love.
11593 2004-10-14 00:17 ravindra
11595 * Form.cs: Fixed class signature. ShowDialog (Control) is not a
11598 2004-10-14 00:15 ravindra
11600 * ButtonBase.cs: Redraw () related improvements.
11602 2004-10-14 00:14 ravindra
11604 * MessageBox.cs: Moved InitFormSize () out of Paint method and
11605 removed unnecessary calls to Button.Show () method.
11607 2004-10-13 17:50 pbartok
11611 - Removed destroying of window until we solve the problem of X
11612 destroying the window before us on shutdown
11614 2004-10-13 16:32 pbartok
11617 - Now Redraws on MouseUp for FlatStyle Flat and Popup
11619 2004-10-13 14:18 pbartok
11622 - Added code to destroy the X window
11624 2004-10-13 14:18 pbartok
11627 - Added code to destroy a window
11629 2004-10-13 14:12 pbartok
11632 - Added the Redraw on Resize that got dropped in the last rev
11634 2004-10-13 09:06 pbartok
11636 * ThemeWin32Classic.cs:
11637 - Path from John BouAntoun:
11638 * Fix check rendering (centre correctly for normal style, offset
11639 correctly for FlatStyle).
11640 * Fix border color usage (use backcolor) for FlatStyle.Popup
11641 * Use checkbox.Capture instead of checkbox.is_pressed when
11642 rendering flatstyle states.
11644 2004-10-12 21:48 pbartok
11646 * ThemeWin32Classic.cs:
11647 - Removed all occurences of SystemColors and replaced them with the
11648 matching theme color
11650 2004-10-12 21:41 pbartok
11652 * ThemeWin32Classic.cs:
11653 - From John BouAntoun: Added an overload to CPDrawBorder3D to allow
11654 him using the function for flatstyle drawing
11655 - Changed functions to use the new version of CPDrawBorder3D
11657 2004-10-12 21:15 pbartok
11660 - Fixed Dark(), DarkDark(), Light() and LightLight() methods to
11661 match MS documentation. They need to return defined colors if the
11662 passed color matches the configured control color. Thanks to John
11663 BouAntoun for pointing this out.
11665 2004-10-12 20:57 pbartok
11668 - Fix from John BouAntoun: Raise ForeColorChanged event when text
11671 2004-10-12 20:46 pbartok
11674 - Fix from John BouAntoun: Now properly sets the Appearance property
11676 2004-10-12 20:45 pbartok
11678 * ThemeWin32Classic.cs:
11679 - Fixes from John BouAntoun: now handles forecolors and backcolors
11680 for flatstyle rendered controls much better; It also fixes normal
11681 checkbox rendering when pushed or disabled.
11683 2004-10-08 02:50 jordi
11685 * Form.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs: more menu
11688 2004-10-07 08:56 jordi
11690 * ThemeWin32Classic.cs: Removes deletion of cached brushes
11692 2004-10-06 03:59 jordi
11694 * Control.cs, StatusBar.cs, ThemeWin32Classic.cs, ToolBar.cs,
11695 XplatUIWin32.cs: removes warnings from compilation
11697 2004-10-05 12:23 jackson
11699 * RadioButton.cs: Fix ctor
11701 2004-10-05 11:10 pbartok
11704 - Partial implementation by Benjamin Dasnois
11706 2004-10-05 10:15 jackson
11708 * ThemeWin32Classic.cs: Improve rendering of the radio button patch
11711 2004-10-05 03:07 ravindra
11714 - Removed a private method, Draw ().
11715 - Fixed the ButtonDropDown event handling.
11716 - Fixed MouseMove event handling.
11718 2004-10-05 03:04 ravindra
11720 * ThemeWin32Classic.cs:
11721 - Added DrawListView method and ListViewDefaultSize property.
11722 - Changed ControlPaint method calls to CPDrawXXX wherever possible.
11723 - Changed DOS style CRLF to Unix format (dos2unix).
11725 2004-10-05 03:03 ravindra
11728 - Added DrawListView method and ListViewDefaultSize property.
11730 2004-10-05 02:42 ravindra
11732 * ToolBarButton.cs: Added an internal member dd_pressed to handle
11733 clicks on DropDown arrow.
11735 2004-10-04 22:56 jackson
11737 * ButtonBase.cs, Label.cs, MenuAPI.cs, ProgressBar.cs,
11738 ScrollBar.cs, StatusBar.cs, ToolBar.cs, TrackBar.cs: Let the base
11739 Control handle the buffers, derived classes should not have to
11740 CreateBuffers themselves.
11742 2004-10-04 21:20 jackson
11744 * StatusBar.cs: The control handles resizing the buffers now.
11746 2004-10-04 21:18 jackson
11748 * Control.cs: When resizing the buffers should be invalidated. This
11749 should be handled in Control not in derived classes.
11751 2004-10-04 14:45 jackson
11755 2004-10-04 02:14 pbartok
11757 * LeftRightAlignment.cs:
11760 2004-10-04 01:09 jordi
11762 * ThemeWin32Classic.cs: fixes right button position causing right
11763 button not showing on horizontal scrollbars
11765 2004-10-02 13:12 pbartok
11768 - Simplified the Invalidate method by using an X call instead of
11769 generating the expose ourselves
11770 - Added an expose when the window background is changed
11771 - Implemented ClientToScreen method
11773 2004-10-02 13:08 pbartok
11776 - Added Win32EnableWindow method (test for implementing modal
11778 - Added ClientToScreen method and imports
11780 2004-10-02 13:07 pbartok
11782 * XplatUI.cs, XplatUIDriver.cs:
11783 - Added ClientToScreen coordinate translation method
11785 2004-10-02 13:06 pbartok
11787 * KeyPressEventArgs.cs:
11788 - Fixed access level for constructor
11790 2004-10-02 13:06 pbartok
11793 - Changed access level for the window_collection hash table
11795 2004-10-02 13:05 pbartok
11798 - Added KeyPreview property
11799 - Added Menu property (still incomplete, pending Jordi's menu work)
11800 - Implemented ProcessCmdKey
11801 - Implemented ProcessDialogKey
11802 - Implemented ProcessKeyPreview
11804 2004-10-02 13:02 pbartok
11807 - Added private method to get the Control object from the window
11809 - Implemented ContextMenu property
11810 - Implemented PointToScreen
11811 - Implemented PreProcessMessage
11812 - Implemented IsInputChar
11813 - Implemented IsInputKey
11814 - Implemented ProcessCmdKey
11815 - Completed ProcessKeyEventArgs
11816 - Fixed message loop to call the proper chain of functions on key
11818 - Implemented ProcessDialogChar
11819 - Implemented ProcessDialogKey
11820 - Implemented ProcessKeyMessage
11821 - Implemented ProcessKeyPreview
11822 - Added RaiseDragEvent stub (MS internal method)
11823 - Added RaiseKeyEvent stub (MS internal method)
11824 - Added RaiseMouseEvent stub (MS Internal method)
11825 - Added RaisePaintEvent stub (MS Internal method)
11826 - Added ResetMouseEventArgs stub (MS Internal method)
11827 - Implemented RtlTranslateAlignment
11828 - Implemented RtlTranslateContent
11829 - Implemented RtlTranslateHorizontal
11830 - Implemented RtlTranslateLeftRight
11831 - Added generation of KeyPress event
11833 2004-10-02 05:57 ravindra
11835 * ListViewItem.cs: Added attributes.
11837 2004-10-02 05:32 ravindra
11839 * ListView.cs: Added attributes.
11841 2004-10-01 11:53 jackson
11843 * Form.cs: Implement the Close method so work on MessageBox can
11846 2004-09-30 14:06 pbartok
11851 2004-09-30 11:34 jackson
11853 * RadioButton.cs: Fix typo. Patch by John BouAntoun.
11855 2004-09-30 07:26 ravindra
11857 * ListViewItemConverter.cs: Converter for ListViewItem.
11859 2004-09-30 07:26 ravindra
11861 * SortOrder.cs: Enum for ListView control.
11863 2004-09-30 07:25 ravindra
11865 * ColumnHeader.cs: Supporting class for ListView control.
11867 2004-09-30 07:24 ravindra
11869 * ListView.cs, ListViewItem.cs: Initial implementation.
11871 2004-09-30 07:20 ravindra
11873 * ItemActivation.cs: Enum for ListView Control.
11875 2004-09-29 20:29 pbartok
11878 - Added lookup of pixel value for background color; tries to get a
11879 color 'close' to the requested color, it avoids having to create a
11880 colormap. Depending on the display this could mean the used color
11881 is slightly off the desired color. Might have to change it to a more
11882 resource intensive colormap approach, but it will work as a
11883 workaround to avoid red screens.
11885 2004-09-29 14:27 jackson
11887 * XplatUIX11.cs: Set the X DisplayHandle in System.Drawing
11889 2004-09-28 12:44 pbartok
11891 * ButtonBase.cs, CheckBox.cs, ControlPaint.cs, GroupBox.cs,
11892 HScrollBar.cs, Label.cs, LinkLabel.cs, Panel.cs, PictureBox.cs,
11893 ProgressBar.cs, RadioButton.cs, ScrollBar.cs, StatusBar.cs,
11894 Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs, ToolBar.cs,
11895 TrackBar.cs, VScrollBar.cs:
11896 - Streamlined Theme interfaces:
11897 * Each DrawXXX method for a control now is passed the object for
11898 the control to be drawn in order to allow accessing any state the
11899 theme might require
11901 * ControlPaint methods for the theme now have a CP prefix to avoid
11902 name clashes with the Draw methods for controls
11904 * Every control now retrieves it's DefaultSize from the current
11907 2004-09-28 12:17 jackson
11909 * Button.cs: Do not redraw OnClick MouseUp/Down will handle the
11912 2004-09-24 14:57 jackson
11914 * XplatUIX11.cs: Don't lock/enqueue/dequeue for unhandled messages.
11915 Gives us a nice little performance boost.
11917 2004-09-24 12:02 jackson
11919 * TabAlignment.cs, TabAppearance.cs, TabControl.cs, TabDrawMode.cs,
11920 TabPage.cs, TabSizeMode.cs: Partial implementation of the Tab
11921 Control and supporting classes. Initial checkin
11923 2004-09-23 13:08 jackson
11925 * Form.cs: Temp build fixage
11927 2004-09-23 01:39 ravindra
11929 * ItemChangedEventArgs.cs, ItemChangedEventHandler.cs,
11930 ItemCheckEventArgs.cs, ItemCheckEventHandler.cs,
11931 ItemDragEventArgs.cs, ItemDragEventHandler.cs,
11932 LabelEditEventArgs.cs, LabelEditEventHandler.cs: EventArgs and
11933 EventHandlers needed by ListView Control.
11935 2004-09-22 14:12 pbartok
11937 * ScrollableControl.cs:
11938 - Implemented DockPadding property
11939 - Implemented AutoScroll property
11940 - Implemented AutoScrollMargin property
11941 - Implemented AutoScrollMinSize property
11942 - Implemented AutoScrollPosition property
11943 - Implemented DisplayRectangle property (still incomplete)
11944 - Implemented CreateParams property
11945 - Implemented HScroll property
11946 - Implemented VScroll property
11947 - Implemented OnVisibleChanged property
11949 2004-09-22 14:09 pbartok
11952 - Added Form.ControllCollection class
11953 - Added handling for Form owners: Owner, OwnedForms, AddOwnedForm,
11954 RemoveOwnedForm (still incomplete, missing on-top and common
11955 minimize/maximize behaviour)
11956 - Added StartPosition property (still incomplete, does not use when
11958 - Added ShowDialog() methods (still incomplete, missing forcing the
11961 2004-09-22 14:05 pbartok
11964 - Added message loop for modal dialogs
11966 2004-09-22 14:02 pbartok
11969 - Fixed wrong types for events
11971 2004-09-22 14:00 pbartok
11973 * Shortcut.cs, FormWindowState.cs:
11974 - Fixed wrong values
11976 2004-09-22 12:01 jackson
11978 * Control.cs: Text is never null
11980 2004-09-20 22:14 pbartok
11983 - Fixed accessibility level for Idle handler
11985 2004-09-20 18:54 jackson
11987 * Application.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
11988 XplatUIX11.cs: New message loop that uses poll so we don't get a
11991 2004-09-17 10:43 pbartok
11994 - Fixed behaviour of arrow buttons. Now properly behaves like
11995 Buttons (and like Microsoft's scrollbar arrow buttons)
11997 2004-09-17 10:14 pbartok
12000 - Added missing release of keyboard/mouse capture
12002 2004-09-17 06:18 jordi
12004 * ContextMenu.cs, MainMenu.cs, Menu.cs, MenuAPI.cs, MenuItem.cs,
12005 Theme.cs: Very early menu support
12007 2004-09-16 17:45 pbartok
12010 - Fixed sending a window to the front
12011 - Added overload for SetWindowPos to avoid casting
12013 2004-09-16 17:44 pbartok
12016 - Added SendToBack and BringToFront methods
12018 2004-09-16 07:00 ravindra
12020 * Copyright: Added Novell URL.
12022 2004-09-16 07:00 ravindra
12024 * ToolBar.cs: Invalidate should be done before redrawing.
12026 2004-09-15 21:19 ravindra
12028 * ColumnHeaderStyle.cs: Enum for ListView Control.
12030 2004-09-15 21:18 ravindra
12032 * ColumnClickEventArgs.cs, ColumnClickEventHandler.cs: Event for
12035 2004-09-13 18:26 jackson
12037 * Timer.cs, XplatUIX11.cs: Remove test code so timers are updated
12040 2004-09-13 18:13 jackson
12042 * Timer.cs, X11Structs.cs, XplatUIX11.cs: Timers are now handled in
12043 a second thread and post messages into the main threads message
12044 queue. This makes timing much more consistent. Both win2K and XP
12045 have a minimum timer value of 15 milliseconds, so we now do this
12048 2004-09-13 15:18 pbartok
12050 * X11Structs.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
12052 - Added Z-Ordering methods
12054 2004-09-13 10:56 pbartok
12057 - Fixed #region names
12058 - Moved properties and methods into their proper #regions
12060 2004-09-13 10:51 pbartok
12063 - Added Accept and CancelButton properties
12064 - Added ProcessDialogKey() method
12066 2004-09-13 08:18 pbartok
12068 * IWindowTarget.cs:
12071 2004-09-10 21:50 pbartok
12074 - Added DoDragDrop() [incomplete]
12075 - Properly implemented 'Visible' handling
12076 - Added SetVisibleCore()
12077 - Implemented FindChildAtPoint()
12078 - Implemented GetContainerControl()
12079 - Implemented Hide()
12081 2004-09-10 19:28 pbartok
12084 - Moved methods into their appropriate #regions
12085 - Reordered methods within regions alphabetically
12087 2004-09-10 18:57 pbartok
12089 * XplatUIX11.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
12090 - Added method to retrieve text from window
12092 2004-09-10 18:56 pbartok
12095 - Moved some internal functions into the internal region
12096 - Implemented FontHeight
12097 - Implemented RenderRightToLeft
12098 - Implemented ResizeRedraw
12099 - Implemented ShowFocusCues
12100 - Implemented ShowKeyboardCues
12101 - Implemented FromChildHandle
12102 - Implemented FromHandle
12103 - Implemented IsMnemonic
12104 - Implemented ReflectMessage
12105 - All public and protected Static Methods are now complete
12107 2004-09-10 16:54 pbartok
12110 - Implemented remaining missing public instance properties
12111 - Alphabetized some out of order properties
12113 2004-09-10 05:51 ravindra
12115 * PictureBox.cs: Added a check for null image.
12117 2004-09-10 00:59 jordi
12119 * GroupBox.cs: remove cvs tag
12121 2004-09-09 05:25 ravindra
12123 * ToolBar.cs: Make redraw accessible from ToolBarButton.
12125 2004-09-09 05:23 ravindra
12127 * ToolBarButton.cs: Changes in ToolBarButton need to make it's
12130 2004-09-09 02:28 pbartok
12132 * ThemeWin32Classic.cs:
12133 - Improve disabled string look
12135 2004-09-09 01:15 jordi
12137 * MeasureItemEventArgs.cs, MeasureItemEventHandler.cs: measureitem
12140 2004-09-08 23:56 ravindra
12142 * ItemBoundsPortion.cs: It's enum, not a class!
12144 2004-09-08 23:47 ravindra
12146 * FormBorderStyle.cs, FormStartPosition.cs, FormWindowState.cs:
12149 2004-09-08 21:13 ravindra
12151 * ItemBoundsPortion.cs, ListViewAlignment.cs, View.cs: Enums for
12154 2004-09-08 21:03 ravindra
12156 * ThemeWin32Classic.cs: PictureBox would not draw a null image to
12159 2004-09-08 21:01 ravindra
12161 * ScrollableControl.cs: Removed unreachable code.
12163 2004-09-08 06:45 jordi
12165 * MenuMerge.cs, Shortcut.cs: enumerations need it by menus
12167 2004-09-08 01:00 jackson
12169 * XplatUIX11.cs: Only run the timers when updating the message
12170 queue. This effectively gives X messages a higher priority then
12171 timer messages. Timers still need love though
12173 2004-09-07 14:01 jackson
12175 * XplatUIX11.cs: Do not call XDestroyWindow, X has already done
12176 this for us and the handle is no longer valid.
12178 2004-09-07 13:59 jackson
12180 * HandleData.cs, XplatUIX11.cs: First steps towards a new X event
12181 loop that manages to not crash. TODO: Add poll and cleanup timers
12183 2004-09-07 11:12 jordi
12185 * GroupBox.cs, Theme.cs, ThemeWin32Classic.cs: GroupBox control
12187 2004-09-07 03:40 jordi
12189 * Label.cs, LinkLabel.cs, Theme.cs, ThemeWin32Classic.cs: LinkLabel
12190 fixes, methods, multiple links
12192 2004-09-06 06:55 jordi
12194 * Control.cs: Caches ClientRectangle rectangle value
12196 2004-09-05 02:03 jordi
12198 * ScrollBar.cs, ThemeWin32Classic.cs: fixes bugs, adds flashing on
12201 2004-09-04 11:10 jordi
12203 * Label.cs: Refresh when font changed
12205 2004-09-02 16:24 pbartok
12208 - Added sanity check to creation of double buffer bitmap
12210 2004-09-02 16:24 pbartok
12213 - Fixed selection of text color
12214 - Fixed handling of resize event; now properly recreates double
12216 - Added missing assignment of TextAlignment
12217 - Added proper default for TextAlignment
12219 2004-09-02 14:26 pbartok
12222 - Added missing RadioButton.RadioButtonAccessibleObject class
12224 2004-09-02 14:26 pbartok
12227 - Added missing Control.ControlAccessibleObject class
12228 - Started to implement Select()ion mechanisms, still very incomplete
12230 2004-09-02 14:25 pbartok
12232 * AccessibleObject.cs:
12233 - Added missing methods
12235 2004-09-02 14:23 pbartok
12237 * AccessibleNavigation.cs, AccessibleSelection.cs:
12240 2004-09-02 10:32 jordi
12242 * Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: implements resource
12243 pool for pens, brushes, and hatchbruses
12245 2004-09-01 15:30 jackson
12247 * StatusBar.cs: Fix typo
12249 2004-09-01 14:44 pbartok
12254 2004-09-01 14:39 pbartok
12256 * Button.cs, RadioButton.cs:
12257 - Functional initial check-in
12259 2004-09-01 14:01 pbartok
12262 - Added missing default
12263 - Added missing region mark
12265 2004-09-01 09:10 jordi
12267 * Label.cs: fixes method signatures, new methods, events, fixes
12270 2004-09-01 07:19 jordi
12272 * Control.cs: Init string variables with an empty object
12274 2004-09-01 04:20 jordi
12276 * Control.cs: fires OnFontChanged event
12278 2004-08-31 20:07 pbartok
12281 - Enabled display of strings
12283 2004-08-31 20:05 pbartok
12286 - Added (partial) implementation of DialogResult; rest needs to be
12287 implemented when the modal loop code is done
12289 2004-08-31 19:55 pbartok
12292 - Fixed to match the removal of the needs_redraw concept
12294 2004-08-31 19:55 pbartok
12297 - Removed the rather odd split between 'needs redraw' and redrawing
12298 - Now handles the events that require regeneration (ambient
12299 properties and size)
12301 2004-08-31 19:41 pbartok
12304 - Added firing of BackColorChanged event
12305 - Added TopLevelControl property
12306 - Fixed handling of WM_ERASEBKGRND message
12308 2004-08-31 12:49 pbartok
12314 2004-08-31 12:48 pbartok
12317 - Finished (famous last words)
12319 2004-08-31 04:35 jordi
12321 * ScrollBar.cs: adds autorepeat timer, uses a single timer, fixes
12322 scrolling bugs, adds new methods
12324 2004-08-30 14:42 pbartok
12327 - Implemented CheckBox drawing code
12329 2004-08-30 14:42 pbartok
12332 - Made Redraw() and CheckRedraw() virtual
12333 - Improved mouse up/down/move logic to properly track buttons
12335 2004-08-30 09:44 pbartok
12338 - Updated to fix broken build. Not complete yet.
12340 2004-08-30 09:28 pbartok
12345 2004-08-30 09:17 pbartok
12350 2004-08-27 16:12 ravindra
12352 * ToolBarButton.cs: Added TypeConverter attribute.
12354 2004-08-27 16:07 ravindra
12356 * ImageIndexConverter.cs: Implemented.
12358 2004-08-27 14:17 pbartok
12361 - Removed unneeded stack vars
12362 - First attempt to fix sizing issues when layout is suspended
12364 2004-08-25 15:35 jordi
12366 * ScrollBar.cs: more fixes to scrollbar
12368 2004-08-25 14:04 ravindra
12370 * Theme.cs, ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs:
12371 Added the missing divider code and grip for ToolBar Control.
12373 2004-08-25 13:20 pbartok
12376 - Control now properly passes the ambient background color to child
12379 2004-08-25 13:20 jordi
12381 * ScrollBar.cs: small bug fix regarding bar position
12383 2004-08-25 12:33 pbartok
12386 - Now only calls SetTimer or KillTimer if the enabled state has
12389 2004-08-25 12:33 pbartok
12392 - Fixed timer handling, now seems to work
12393 - Improved error message for window creation
12395 2004-08-25 12:32 pbartok
12398 - Fixed generation of MouseUp message
12400 2004-08-25 12:29 jordi
12402 * ProgressBar.cs, ThemeWin32Classic.cs: new methods, properties,
12403 and fixes for progressbar
12405 2004-08-24 18:43 ravindra
12407 * ThemeWin32Classic.cs, ToolBar.cs: Fixed wrapping related issues
12408 in ToolBar control.
12410 2004-08-24 17:15 pbartok
12414 - Added missing events
12417 2004-08-24 17:14 pbartok
12419 * StatusBar.cs, PictureBox.cs:
12420 - Now uses Control's CreateParams
12422 2004-08-24 16:36 pbartok
12425 - Fixed background color handling
12426 - Fixed sending of enter/leave events on a grab
12428 2004-08-24 16:35 pbartok
12431 - Refined definitions for CrossingEvent
12433 2004-08-24 12:37 jordi
12435 * ScrollBar.cs, Theme.cs, ThemeGtk.cs, ThemeWin32Classic.cs: fixes
12436 formmating, methods signature, and adds missing events
12438 2004-08-24 12:24 jordi
12440 * Control.cs: fire OnEnabledChanged event
12442 2004-08-24 11:17 pbartok
12445 - Implemented SetTimer() and KillTimer()
12447 2004-08-24 11:16 pbartok
12450 - Now uses Remove instead of Add to kill the timer
12452 2004-08-24 10:16 jackson
12454 * PictureBox.cs, Theme.cs, ThemeWin32Classic.cs: Handle drawing
12455 picture boxes in the theme now. Draw picture box borders and obey
12458 2004-08-24 05:49 jackson
12460 * Timer.cs: Remove top secret debugging code
12462 2004-08-24 05:34 jackson
12464 * PictureBox.cs: Temp hack to make picture boxes draw their full
12467 2004-08-24 05:29 jackson
12469 * Timer.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
12470 XplatUIX11.cs: Move timers to the driver level. On X they are
12471 queued by the driver and checked on idle.
12473 2004-08-24 01:07 jackson
12475 * XplatUIX11.cs: Use a queue for async messages instead of passing
12476 them as ClientMessages since that was totally broken. Also simply
12477 check for events and return an idle message if none are found. This
12478 gives us an idle handler, and prevents deadlocking when no messages
12481 2004-08-23 18:19 ravindra
12483 * XplatUIWin32.cs: Removed the unwanted destructor.
12485 2004-08-23 17:27 pbartok
12488 - Finishing touches. Works now, just needs some optimizations.
12490 2004-08-23 16:53 jordi
12492 * ScrollBar.cs: small fix
12494 2004-08-23 16:45 pbartok
12497 - Removed debug output
12500 2004-08-23 16:43 jordi
12502 * ScrollBar.cs: [no log message]
12504 2004-08-23 16:10 pbartok
12507 - Fixed handling of WM_CLOSE message
12508 - Removed debug output
12510 2004-08-23 16:09 pbartok
12513 - Added handling of Idle event
12514 - Added handling of form closing
12515 - Fixed reporting of MessageLoop property
12516 - Removed some unneeded code, should provide a bit of a speedup
12518 2004-08-23 15:22 pbartok
12521 - Added InitLayout() method
12522 - Added code to properly perform layout when Anchor or Dock property
12524 - Changed 'interpretation' of ResumeLayout. MS seems to have a
12525 LAMESPEC, tried to do it in a way that makes sense
12527 2004-08-23 14:10 jordi
12529 * HScrollBar.cs, ScrollBar.cs, TrackBar.cs, VScrollBar.cs: fixes
12530 properties and methods
12532 2004-08-23 13:55 pbartok
12535 - Properly fixed Jordi's last fix
12536 - Now uses Cursor's Position property instead of calling XplatUI
12539 2004-08-23 13:44 jordi
12541 * PaintEventHandler.cs: Adding missing attribute
12543 2004-08-23 13:39 pbartok
12546 - Implemented Position property
12548 2004-08-23 13:39 pbartok
12550 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
12551 - Added method to move mouse cursor
12553 2004-08-23 13:39 pbartok
12556 - Fixed setting of background color
12557 - Added method to move mouse cursor
12559 2004-08-23 13:16 jordi
12561 * Control.cs: avoids null exception
12563 2004-08-22 17:46 jackson
12565 * PictureBox.cs, PictureBoxSizeMode.cs: Initial implementation of
12568 2004-08-22 17:40 jackson
12570 * XplatUIX11.cs: Add some missing locks
12572 2004-08-22 15:10 pbartok
12574 * Control.cs, Form.cs:
12575 - Removed OverlappedWindow style from Control, instead it's default
12577 - Made form windows OverlappedWindow by default
12579 2004-08-22 13:34 jackson
12581 * ScrollBar.cs: Update the position through the Value property so
12582 the OnValueChanged event is raised.
12584 2004-08-22 12:04 pbartok
12587 - Added Cursor.cs and UserControl.cs
12589 2004-08-22 12:03 pbartok
12592 - Started implementation, not usable yet
12594 2004-08-22 12:00 pbartok
12597 - Implemented UserControl (complete)
12599 2004-08-21 19:20 ravindra
12601 * ToolBar.cs: Correcting the formatting mess of VS.NET.
12603 2004-08-21 18:49 ravindra
12605 * ToolBar.cs: Probably this completes the missing attributes in
12608 2004-08-21 18:03 ravindra
12610 * ToolBar.cs, ToolBarButton.cs, ToolBarButtonClickEventArgs.cs:
12611 Fixed toolbar control signatures.
12613 2004-08-21 16:32 pbartok
12618 2004-08-21 16:30 pbartok
12623 2004-08-21 16:19 pbartok
12625 * Control.cs, Label.cs:
12628 2004-08-21 15:57 pbartok
12631 - Added loads of debug output for development
12632 - Fixed typo in method name
12634 2004-08-21 15:52 pbartok
12636 * ToolBarButtonClickEventArgs.cs:
12637 - Added missing base class
12639 2004-08-21 14:53 pbartok
12642 - Updated to match new GrabWindow signature
12644 2004-08-21 14:51 pbartok
12646 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
12647 - Added method to get default display size
12649 2004-08-21 14:23 pbartok
12651 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
12652 - Added method to query current grab state
12653 - Added argument to allow confining a grab to a window
12655 2004-08-21 14:22 pbartok
12658 - Added [Flags] attribute so that modifiers can be used in bitwise
12661 2004-08-21 14:21 pbartok
12663 * TrackBar.cs, ScrollBar.cs:
12664 - Replaced direct XplatUI calls with their Control counterpart
12666 2004-08-21 13:32 pbartok
12669 - Implemented Created property
12671 2004-08-21 13:28 pbartok
12674 - Implemented ContainsFocus
12676 2004-08-21 13:26 pbartok
12679 - Implemented CausesValidation
12681 2004-08-21 13:21 pbartok
12684 - Implemented CanFocus
12685 - Implemented CanSelect
12686 - Implemented Capture
12688 2004-08-21 12:35 pbartok
12691 - Fixed bug with Async message handling
12692 - Implemented getting the ModifierKeys
12694 2004-08-21 12:32 jackson
12696 * AsyncMethodResult.cs: Make sure we have the mutex before we
12697 release it. Fixes BeginInvoke on windows
12699 2004-08-21 11:31 pbartok
12701 * XplatUIWin32.cs, XplatUIX11.cs:
12702 - Drivers now return proper mouse state
12704 2004-08-21 10:54 jackson
12706 * Control.cs: Implement EndInvoke
12708 2004-08-21 10:48 jackson
12710 * Timer.cs: Remove unneeded finalizer
12712 2004-08-20 19:52 ravindra
12714 * ThemeWin32Classic.cs, ToolBar.cs, ToolBarButton.cs: Improvments
12715 in mouse event handling in the ToolBar control.
12717 2004-08-20 19:50 ravindra
12719 * ImageList.cs: Changed draw method to use the arguments passed in
12722 2004-08-20 18:58 pbartok
12724 * XplatUIStructs.cs:
12725 - Added private message for async communication
12727 2004-08-20 17:38 ravindra
12729 * Control.cs: Made RightToLeft property virtual and removed a
12732 2004-08-20 14:39 jordi
12734 * ThemeGtk.cs: use style_attach
12736 2004-08-20 14:39 pbartok
12739 - Added jackson's Async code from X11 to Win32
12741 2004-08-20 14:09 pbartok
12744 - Added all new files
12746 2004-08-20 14:09 pbartok
12749 - Added call to set window background color
12751 2004-08-20 14:03 pbartok
12753 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
12754 - Added method for setting the window background
12756 2004-08-20 14:02 pbartok
12759 - Added method for setting the background color
12760 - Added handling for erasing the window background
12762 2004-08-20 13:45 jordi
12764 * TrackBar.cs: fixes timer, new properties and methods
12766 2004-08-20 13:34 jackson
12768 * ScrollBar.cs: Use the SWF timer so callbacks are run in the
12771 2004-08-20 13:22 jackson
12773 * Timer.cs: Timer Tick events are now handed through Controls Async
12774 mechanism so the callbacks are executed in the same thread as X
12776 2004-08-20 13:19 jackson
12778 * XplatUIDriver.cs: Expose functionality to send async messages
12781 2004-08-20 13:18 jackson
12783 * Control.cs: Implement Begininvoke
12785 2004-08-20 13:14 jackson
12787 * XplatUI.cs, XplatUIWin32.cs: Expose functionality to send async
12788 messages through the driver
12790 2004-08-20 13:12 jackson
12792 * XplatUIX11.cs: Lock before all X operations. Also added Async
12793 method functionality through XSendEvent
12795 2004-08-20 13:11 jackson
12797 * X11Structs.cs: Use IntPtrs for ClientMessage extra data (TODO:
12798 This will screw up on 64 bit systems)
12800 2004-08-20 13:10 jackson
12802 * AsyncMethodData.cs, AsyncMethodResult.cs: Classes for sending
12803 Async messages through X/Win32
12805 2004-08-19 19:39 pbartok
12808 - Updated code to match new HandleData.DeviceContext type
12810 2004-08-19 19:38 pbartok
12813 - Made DeviceContext a generic object to allow usage from various
12815 - Added support for queueing Windows messages
12817 2004-08-19 19:37 pbartok
12820 - Added generation of MouseEnter, MouseLeave and MouseHover events
12821 - Added cleanup on EndPaint
12823 2004-08-19 19:17 pbartok
12826 - Added handling of WM_MOUSEHOVER
12827 - Worked around 'bug' in Win32 WM_MOUSE_ENTER/WM_MOUSE_LEAVE driver
12830 2004-08-19 18:55 jordi
12832 * ThemeGtk.cs: fixes button order
12834 2004-08-19 18:12 jordi
12836 * Theme.cs, ThemeWin32Classic.cs: fixes methods signature
12838 2004-08-19 17:09 pbartok
12841 - Added Right property
12842 - Added RightToLeft property
12844 2004-08-19 16:27 jordi
12846 * ThemeGtk.cs: experimental GTK theme support
12848 2004-08-19 16:26 jordi
12850 * ITheme.cs, Theme.cs: move themes from an interface to a class
12852 2004-08-19 16:25 jordi
12854 * Control.cs, ScrollBar.cs, ThemeEngine.cs, ThemeWin32Classic.cs:
12857 2004-08-19 16:04 pbartok
12860 - Added colormap basics
12861 - Added a way to re-initialize with a different display handle
12862 - Fixed setting of the window background color
12863 - Added various X11 imports related to colors and colormaps
12865 2004-08-19 15:51 pbartok
12868 - Removed packing hints (Paolo suggested this a while back)
12869 - fixed colormap type
12870 - Added default Atom types
12871 - Added Screen and color structs and enums
12873 2004-08-19 15:39 pbartok
12876 - Added missing Draw() method
12877 - Added missing RecreateHandle event
12879 2004-08-19 15:30 pbartok
12882 - Added handling of WM_CLOSE
12884 2004-08-18 13:16 jordi
12886 * ITheme.cs, ThemeWin32Classic.cs, XplatUIWin32.cs: Move colors to
12889 2004-08-18 09:56 jordi
12891 * ScrollBar.cs: fixes to scrollbar: steps and multiple timers
12893 2004-08-17 15:31 ravindra
12895 * SWF.csproj: Updated project.
12897 2004-08-17 15:25 pbartok
12900 - Drawing improvement; don't call UpdateBounds if we are not visible
12901 (or have been minimized)
12903 2004-08-17 15:24 pbartok
12906 - Finished IsVisible
12907 - Added Win32GetWindowPlacement
12909 2004-08-17 15:08 jackson
12911 * Panel.cs: Initial checkin of the Panel
12913 2004-08-17 14:25 pbartok
12916 - Fixed broken handling of default window sizes
12918 2004-08-17 13:29 jackson
12920 * ThemeWin32Classic.cs: Don't use KnownColor to create colours. It
12921 has a large startup time.
12923 2004-08-17 10:25 jackson
12925 * HandleData.cs: union areas properly
12927 2004-08-17 10:12 jackson
12929 * HandleData.cs: union areas properly
12931 2004-08-16 20:00 ravindra
12933 * ToolBar.cs, ToolBarButton.cs: Added attributes.
12935 2004-08-16 18:48 ravindra
12937 * ToolBar.cs: Added attributes.
12939 2004-08-16 17:17 ravindra
12941 * SWF.csproj: Updated project.
12943 2004-08-16 17:16 jackson
12945 * XplatUIX11.cs: Check for more expose events before sending a
12946 WM_PAINT so they can all be grouped together. This makes dragging a
12947 window across another window redraw in a sane way.
12949 2004-08-16 15:47 pbartok
12952 - Added handling of WM_MOUSE_ENTER & WM_MOUSE_LEAVE to
12953 support OnMouseEnter/Leave()
12954 - Added WS_CLIPSIBLINGS and WS_CLIPCHILDREN window styles to improve
12957 2004-08-16 15:46 pbartok
12959 * XplatUIStructs.cs, XplatUIX11.cs:
12960 - Added WM_MOUSE_ENTER & WM_MOUSE_LEAVE to support
12961 OnMouseEnter/Leave()
12963 2004-08-16 15:34 jackson
12965 * XplatUIX11.cs: Group multiple expose events in HandleData, make
12966 sure messages get the message field set to WM_NULL if they are not
12969 2004-08-16 15:24 jackson
12971 * HandleData.cs: HandleData is used for storing message information
12974 2004-08-15 17:23 ravindra
12976 * ColorDepth.cs: Added attribute.
12978 2004-08-15 17:23 ravindra
12980 * SWF.csproj: Updated project for ToolBar Control.
12982 2004-08-15 17:20 ravindra
12984 * ITheme.cs, ThemeWin32Classic.cs: Changes to Theme for ToolBar
12985 control and also dos2unix format.
12987 2004-08-15 17:13 ravindra
12989 * ToolBar.cs, ToolBarAppearance.cs, ToolBarButton.cs,
12990 ToolBarButtonClickEventArgs.cs,
12991 ToolBarButtonClickEventHandler.cs, ToolBarButtonStyle.cs,
12992 ToolBarTextAlign.cs: First Implementation of ToolBar control.
12994 2004-08-15 15:31 pbartok
12997 - First (mostly) working version
12999 2004-08-13 16:15 pbartok
13002 - Fixed Anchor default
13004 2004-08-13 15:43 pbartok
13007 - Changed GetCursorPos signature
13009 2004-08-13 15:42 pbartok
13011 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs:
13012 - Changed signature for GetCursorPos
13014 2004-08-13 15:25 pbartok
13018 - Fixed resizing/exposure handling
13020 2004-08-13 15:22 jordi
13022 * ThemeWin32Classic.cs: removes redundant code and fixes issues
13025 2004-08-13 14:55 jordi
13027 * TrackBar.cs: change from wndproc to events
13029 2004-08-13 13:00 jordi
13031 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
13032 XplatUIX11.cs: implements PointToClient (ScreenToClient)
13034 2004-08-13 12:53 pbartok
13037 - Changed GetWindowPos to also provide client area size
13038 - Fixed broken prototypes for several win32 functions
13040 2004-08-13 12:53 pbartok
13042 * XplatUI.cs, XplatUIDriver.cs:
13043 - Changed GetWindowPos to also provide client area size
13045 2004-08-13 12:52 pbartok
13048 - Added generation of WM_POSCHANGED
13049 - Changed GetWindowPos to also provide client area size
13051 2004-08-13 12:52 pbartok
13054 - Added Dispose() and destructor
13055 - Fixed resizing and bounds calculation
13057 - Added memory savings for invisible windows
13059 2004-08-13 12:46 jordi
13061 * TrackBar.cs: adds timer and grap window
13063 2004-08-13 10:25 jackson
13065 * Timer.cs: SWF Timer
13067 2004-08-12 16:59 pbartok
13069 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13070 - Implemented method to get current mouse position
13072 2004-08-12 14:29 jordi
13074 * ITheme.cs, ThemeWin32Classic.cs, TrackBar.cs: Trackbar
13075 enhancement, fix mouse problems, highli thumb, etc
13077 2004-08-12 13:31 pbartok
13080 - Fixed Anchoring bugs
13082 2004-08-12 13:01 jackson
13084 * StatusBar.cs: Don't forget things
13086 2004-08-12 12:54 jackson
13088 * ThemeWin32Classic.cs: Handle owner draw status bars
13090 2004-08-12 12:54 jackson
13092 * StatusBar.cs: Implement missing properties, events, and methods.
13093 Handle mouse clicking
13095 2004-08-12 10:19 jackson
13097 * StatusBarPanelClickEventArgs.cs,
13098 StatusBarPanelClickEventHandler.cs: Classes for handling status
13099 bar panel click events
13101 2004-08-12 10:10 jackson
13103 * Control.cs: Add missing properties
13105 2004-08-12 09:46 pbartok
13107 * BindingsManagerBase.cs:
13108 - Name changed to BindingManagerBase.cs
13110 2004-08-12 09:25 jordi
13112 * ScrollableControl.cs: calls ctrlbase instead of exeception
13114 2004-08-11 16:28 pbartok
13116 * InputLanguageChangingEventArgs.cs:
13117 - Never check in before compiling. Fixes the last check-in
13119 2004-08-11 16:26 pbartok
13121 * InputLanguageChangingEventArgs.cs:
13122 - More signature fixes
13124 2004-08-11 16:20 pbartok
13126 * BindingManagerBase.cs, BindingMemberInfo.cs, ContainerControl.cs,
13127 Control.cs, ControlEventArgs.cs, ControlPaint.cs, Form.cs,
13128 ImageListStreamer.cs, InputLanguage.cs,
13129 InputLanguageChangedEventArgs.cs,
13130 InputLanguageChangingEventArgs.cs, Keys.cs, LayoutEventArgs.cs,
13131 LinkArea.cs, Message.cs, MouseEventArgs.cs, NativeWindow.cs,
13132 ScrollEventArgs.cs, ScrollableControl.cs, XplatUI.cs,
13133 XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13136 2004-08-11 16:16 pbartok
13140 - Added .Net 1.1 method
13142 2004-08-11 15:25 pbartok
13145 - Fixed BindingManagerBase.cs filename
13147 2004-08-11 15:22 pbartok
13149 * BindingManagerBase.cs:
13150 - Was checked in with wrong filename
13152 2004-08-11 14:50 pbartok
13157 2004-08-11 13:41 jordi
13159 * XplatUIWin32.cs: Fixes ClientRect
13161 2004-08-11 13:19 pbartok
13163 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
13165 - We had SetWindowPos and MoveWindow to set window positions and
13166 size, removed MoveWindow. We have GetWindowPos, so it made sense to
13167 keep SetWindowPos as matching counterpart
13168 - Added some X11 sanity checking
13170 2004-08-11 12:59 pbartok
13173 - Major cleanup of my SetBounds/SetBoundsCore/UpdateBounds mess
13174 (It seems that SetBounds is just a front for SetBoundsCore and
13175 SetBoundsCore updates the underlying window system and
13176 UpdateBounds is responsible for updating the variables associated
13177 with the Control and sending the events)
13178 - Major cleanup of Size handling; we now have two sizes, client_size
13179 and bounds. Bounds defines the window with decorations, client_size
13182 2004-08-11 12:55 pbartok
13184 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13185 - Added method to calculate difference between decorated window and
13188 2004-08-11 12:54 pbartok
13191 - Forcing redraw on resize
13193 2004-08-11 11:43 pbartok
13196 - Removed disposing of the actual images when the list is disposed
13198 2004-08-11 09:13 pbartok
13201 - Now properly reparents windows
13203 2004-08-11 08:37 pbartok
13208 2004-08-11 07:47 pbartok
13211 - Rewrote the collection stuff. Might not be as fast now, not
13212 keeping the number of children around and accessible directly, but
13213 it's more straightforward
13215 2004-08-11 07:44 pbartok
13217 * AccessibleObject.cs:
13218 - Fixed to match ControlCollection rewrite
13220 2004-08-11 07:43 pbartok
13223 - Added missing creation of the collection list
13225 2004-08-10 20:08 jackson
13227 * StatusBar.cs: Get the paint message from WndProc
13229 2004-08-10 19:31 jackson
13231 * ThemeWin32Classic.cs: Create Brushes as little as possible
13233 2004-08-10 19:20 jackson
13235 * UICues.cs: Add Flags attribute
13237 2004-08-10 19:19 jackson
13239 * StatusBarPanel.cs: Signature cleanup
13241 2004-08-10 19:10 jackson
13243 * StatusBarDrawItemEventArgs.cs, StatusBarDrawItemEventHandler.cs:
13244 Initial implementation of status bar item drawing
13246 2004-08-10 17:27 jordi
13248 * TrackBar.cs: add missing methods, properties, and restructure to
13251 2004-08-10 16:24 jackson
13253 * AccessibleStates.cs, Border3DSide.cs, Border3DStyle.cs,
13254 ButtonState.cs, ControlStyles.cs, DragDropEffects.cs: Add flags
13257 2004-08-10 13:21 jordi
13259 * ITheme.cs, ScrollBar.cs, ThemeWin32Classic.cs: scrollbar
13260 enhancements and standarize on win colors defaults
13262 2004-08-10 12:52 jackson
13264 * DrawItemEventArgs.cs, DrawItemState.cs, ITheme.cs,
13265 ThemeWin32Classic.cs: Implement DrawItem functionality
13267 2004-08-10 12:47 jordi
13269 * XplatUIWin32.cs: Calls InvalidateRect before UpdateWindow
13271 2004-08-10 12:32 jordi
13273 * Control.cs: throw ontextchange event
13275 2004-08-10 11:43 pbartok
13278 - Added more to the still unfinished Dock/Anchor layout code
13280 2004-08-10 11:39 pbartok
13282 * XplatUI.cs, XplatUIDriver.cs, XplatUIX11.cs:
13283 - Added GetWindowPos method
13285 2004-08-10 11:36 pbartok
13288 - Implemented several methods
13290 2004-08-10 09:47 jackson
13292 * TrackBar.cs: Allow control to handle buffering
13294 2004-08-10 09:41 jackson
13296 * ProgressBar.cs, ScrollBar.cs: Allow control to handle buffering
13298 2004-08-10 09:24 jackson
13300 * Label.cs, LinkLabel.cs: Let Control handle buffering.
13302 2004-08-10 09:09 jackson
13304 * StatusBar.cs: Let Control handle all the buffering.
13306 2004-08-10 09:08 jackson
13308 * Control.cs: Control will now handle the buffering code, so each
13309 control does not have to implement this.
13311 2004-08-10 08:34 jackson
13313 * XplatUIDriver.cs: Use default colors from the theme
13315 2004-08-09 17:12 pbartok
13318 - Fixed several bugs Ravindra pointed out
13320 2004-08-09 16:11 pbartok
13323 - Added incomplete dock layout code
13324 - Added support for mouse wheel
13326 2004-08-09 16:09 pbartok
13329 - Added handling for middle and right mousebutton
13330 - Added handling for mouse wheel
13331 - Added handling for key state and mouse state and position
13332 - Now properly generates WM_xBUTTONx messages and WM_MOUSEWHEEL
13335 2004-08-09 15:40 jackson
13337 * StatusBarPanel.cs, StatusBarPanelAutoSize.cs,
13338 StatusBarPanelBorderStyle.cs, StatusBarPanelStyle.cs: Initial
13341 2004-08-09 15:37 jackson
13343 * StatusBar.cs: Initial implementation of StatusBar
13345 2004-08-09 15:36 jackson
13347 * ITheme.cs: Add support for drawing status bar and getting status
13350 2004-08-09 15:35 pbartok
13355 2004-08-09 15:34 jackson
13357 * ThemeWin32Classic.cs: Add support for drawing status bar and get
13358 status bar item sizes
13360 2004-08-09 15:21 jackson
13362 * ThemeWin32Classic.cs: Use known colors for default control
13365 2004-08-09 15:12 jackson
13367 * ThemeWin32Classic.cs: Make the default font static, it is static
13368 in control so this doesn't change functionality and creating fonts
13371 2004-08-09 14:56 pbartok
13374 - Added GrabMode enum
13376 2004-08-09 14:55 pbartok
13378 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13379 - Removed Run method, was only required for initial development
13381 2004-08-09 14:51 pbartok
13383 * XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs, XplatUIX11.cs:
13384 - Implemented GrabWindow/ReleaseWindow methods to allow pointer
13387 2004-08-09 13:48 pbartok
13390 - Fixed default sizing for child windows
13392 2004-08-09 12:56 pbartok
13395 - Added generation of WM_DESTROY message
13396 - Added handling of window manager induced shutdown
13398 2004-08-09 11:31 jackson
13400 * ThemeWin32Classic.cs: New names for control properties
13402 2004-08-09 11:25 jackson
13404 * Control.cs: Use new color names
13406 2004-08-09 11:02 jackson
13408 * XplatUI.cs: Get default window properties from the theme
13410 2004-08-09 11:01 jackson
13412 * ITheme.cs: The theme engine now controls default window
13415 2004-08-09 11:00 jackson
13417 * ThemeWin32Classic.cs: Add default window color properties
13419 2004-08-09 10:17 jackson
13421 * ThemeWin32Classic.cs: Use correct default back color
13423 2004-08-09 10:05 jackson
13425 * XplatUIWin32.cs, XplatUIX11.cs: These properties are handled by
13428 2004-08-09 09:56 jackson
13430 * XplatUI.cs: Remove defaults, these are handled by the theme now.
13432 2004-08-09 09:54 jackson
13434 * Control.cs: Get default properties from the theme.
13436 2004-08-09 09:53 jackson
13438 * ITheme.cs: Themes now handle default control properties
13440 2004-08-09 09:53 jackson
13442 * ThemeWin32Classic.cs: Themes now handle default control
13443 properties so coloring will be consistent
13445 2004-08-08 16:54 jordi
13447 * ITheme.cs, ThemeWin32Classic.cs: Label BorderStyles
13449 2004-08-08 15:08 jordi
13451 * XplatUIX11.cs: fixes keyboard crash
13453 2004-08-08 13:47 jordi
13455 * Label.cs: add cvs header info
13457 2004-08-08 12:09 jackson
13459 * ThemeWin32Classic.cs: Add pen_buttonface
13461 2004-08-08 11:52 jordi
13463 * Label.cs, LinkLabel.cs: [no log message]
13465 2004-08-08 11:34 jordi
13467 * ThemeWin32Classic.cs: Use Windows Standard Colours
13469 2004-08-07 17:32 jordi
13471 * TrackBar.cs: throw exceptions of invalid enums values
13473 2004-08-07 17:31 jordi
13475 * Label.cs, LinkLabel.cs, ThemeWin32Classic.cs: fixes label bug and
13478 2004-08-07 16:56 jackson
13480 * HorizontalAlignment.cs: Initial checkin
13482 2004-08-07 13:16 jordi
13484 * Label.cs, LinkLabel.cs: throw exceptions, fixes events, missing
13487 2004-08-07 13:05 jordi
13489 * ITheme.cs, ThemeWin32Classic.cs: Theme colour support and
13490 GetSysColor defines
13492 2004-08-06 18:01 pbartok
13494 * ThemeWin32Classic.cs:
13495 - Fixed some rounding issues with float/int
13497 2004-08-06 18:00 jackson
13499 * DockStyle.cs, AnchorStyles.cs:
13501 Add flags and serializable attributes.
13503 2004-08-06 17:46 pbartok
13506 - Implemented GetParent
13508 2004-08-06 17:18 pbartok
13511 - Fixed some rounding issues with float/int
13513 2004-08-06 17:17 pbartok
13515 * X11Structs.cs, XplatUIX11.cs:
13516 - Fixed Refresh and Invalidate
13518 2004-08-06 15:30 pbartok
13520 * Control.cs, X11Structs.cs, XplatUIX11.cs:
13521 - Fixed recursive loop when resizing
13522 - Improved/fixed redrawing on expose messages
13524 2004-08-06 09:53 jordi
13526 * Control.cs, X11Structs.cs, XplatUIWin32.cs, XplatUIX11.cs: X11
13527 keyboard navigation
13529 2004-08-06 08:02 pbartok
13531 * X11Structs.cs, XplatUIX11.cs:
13532 - Fixed reparenting
13533 - Fixed window border creation
13535 2004-08-05 15:38 pbartok
13538 - Attempted fix for reparenting problems
13540 2004-08-04 15:14 pbartok
13543 - Fixed Invalidation bug (calculated wrong client area)
13544 - Added ClientSize setter
13546 2004-08-04 15:13 pbartok
13549 - Added AutoScale properties
13551 2004-08-04 15:13 pbartok
13554 - Added latest files
13556 2004-08-04 14:11 pbartok
13558 * Control.cs, XplatUI.cs, XplatUIDriver.cs, XplatUIWin32.cs,
13560 - Added Invalidate handling
13562 2004-08-03 17:09 jordi
13564 * XplatUIDriver.cs: fixes spelling mistake
13566 2004-07-27 09:53 jordi
13568 * TrackBar.cs: fixes trackbar events, def classname, methods
13571 2004-07-27 09:29 jordi
13573 * ScrollBar.cs: fixes scrollbar events
13575 2004-07-27 04:38 jordi
13577 * Control.cs: changes to be able to run winforms samples
13579 2004-07-26 11:42 jordi
13581 * ControlPaint.cs, ITheme.cs, ProgressBar.cs, ScrollBar.cs,
13582 ThemeEngine.cs, ThemeWin32Classic.cs, TrackBar.cs: Theme support
13584 2004-07-26 05:41 jordi
13586 * MessageBox.cs, MessageBoxButtons.cs, MessageBoxDefaultButton.cs,
13587 MessageBoxIcon.cs, MessageBoxOptions.cs: initial messagebox
13590 2004-07-22 09:22 jordi
13592 * LinkLabel.cs, LinkLabelLinkClickedEventHandler.cs: link label:
13593 check link overlapping, implement events, and fixes
13595 2004-07-21 10:28 jordi
13597 * DialogResult.cs, IButtonControl.cs: fixes comments filenames
13599 2004-07-21 10:19 jordi
13601 * DialogResult.cs, IButtonControl.cs, Label.cs, LinkArea.cs,
13602 LinkBehavior.cs, LinkClickedEventArgs.cs, LinkLabel.cs,
13603 LinkLabelLinkClickedEventArgs.cs,
13604 LinkLabelLinkClickedEventHandler.cs, LinkState.cs,
13605 XplatUIWin32.cs, LinkClickedEventHandler.cs: LinkLabel control
13608 2004-07-19 13:09 jordi
13610 * Control.cs, Label.cs: label control re-written: added missing
13611 functionlity, events, and properties
13613 2004-07-19 10:49 jordi
13615 * Control.cs: fixes SetBounds logic
13617 2004-07-19 01:29 jordi
13619 * Control.cs: Call RefreshWindow only if the window has created
13621 2004-07-15 14:05 pbartok
13623 * ColorDepth.cs, ImageList.cs, ImageListStreamer.cs, SWF.csproj:
13624 - Implemented ImageList and ImageList.ImageCollection classes
13625 - Added ColorDepth enumeration
13626 - Updated SWF VS.Net project
13628 2004-07-15 11:06 jordi
13630 * XplatUIStructs.cs: added MsgButons enum
13632 2004-07-15 11:03 jordi
13634 * Control.cs: added basic mouse handeling events
13636 2004-07-15 03:38 jordi
13638 * Orientation.cs, TickStyle.cs, TrackBar.cs: Horizontal and
13639 Vertical TrackBar control implementation
13641 2004-07-13 09:33 jordi
13643 * HScrollBar.cs, VScrollBar.cs: vertical and hort. classes commit
13645 2004-07-13 09:31 jordi
13647 * Control.cs, Form.cs: commit: new properties and fixes form size
13650 2004-07-09 14:13 miguel
13652 * ProgressBar.cs: Spelling
13654 2004-07-09 11:25 pbartok
13657 - Removed usage of Rectangle for drawing. Miguel pointed out it's
13660 2004-07-09 11:17 miguel
13662 * ProgressBar.cs: 2004-07-09 Miguel de Icaza <miguel@ximian.com>
13664 * ProgressBar.cs: Fixed spelling for `block'
13666 drawProgressBar: renamed to `DrawProgressBar' to follow the coding
13669 Avoid using the += on rect.X, that exposed a bug in the compiler.
13671 2004-07-08 23:21 pbartok
13673 * AccessibleObject.cs, AccessibleRole.cs, AccessibleStates.cs,
13674 AnchorStyles.cs, Application.cs, ApplicationContext.cs,
13675 BaseCollection.cs, Binding.cs, BindingContext.cs,
13676 BindingMemberInfo.cs, BindingsCollection.cs,
13677 BindingsManagerBase.cs, Border3DSide.cs, Border3DStyle.cs,
13678 BorderStyle.cs, BoundsSpecified.cs, ButtonBorderStyle.cs,
13679 ButtonState.cs, CaptionButton.cs, CheckBox.cs,
13680 ContainerControl.cs, Control.cs, ControlEventArgs.cs,
13681 ControlEventHandler.cs, ControlPaint.cs, ControlStyles.cs,
13682 ConvertEventArgs.cs, ConvertEventHandler.cs, Copyright,
13683 CreateParams.cs, DockStyle.cs, DragAction.cs, DragDropEffects.cs,
13684 DragEventArgs.cs, DragEventHandler.cs, FlatStyle.cs, Form.cs,
13685 FrameStyle.cs, GiveFeedbackEventArgs.cs,
13686 GiveFeedbackEventHandler.cs, HelpEventArgs.cs,
13687 HelpEventHandler.cs, IContainerControl.cs, IDataObject.cs,
13688 IMessageFilter.cs, IWin32Window.cs, ImeMode.cs, InputLanguage.cs,
13689 InputLanguageChangedEventArgs.cs,
13690 InputLanguageChangedEventHandler.cs,
13691 InputLanguageChangingEventArgs.cs,
13692 InputLanguageChangingEventHandler.cs, InputLanguageCollection.cs,
13693 InvalidateEventArgs.cs, InvalidateEventHandler.cs,
13694 KeyEventArgs.cs, KeyEventHandler.cs, KeyPressEventArgs.cs,
13695 KeyPressEventHandler.cs, Keys.cs, Label.cs, LayoutEventArgs.cs,
13696 LayoutEventHandler.cs, MenuGlyph.cs, Message.cs, MouseButtons.cs,
13697 MouseEventArgs.cs, MouseEventHandler.cs, NativeWindow.cs,
13698 PaintEventArgs.cs, PaintEventHandler.cs, ProgressBar.cs,
13699 QueryAccessibilityHelpEventArgs.cs,
13700 QueryAccessibilityHelpEventHandler.cs,
13701 QueryContinueDragEventArgs.cs, QueryContinueDragEventHandler.cs,
13702 RightToLeft.cs, SWF.csproj, SWF.csproj.user, ScrollBar.cs,
13703 ScrollBars.cs, ScrollButton.cs, ScrollEventArgs.cs,
13704 ScrollEventHandler.cs, ScrollEventType.cs, ScrollableControl.cs,
13705 TODO, TODOAttribute.cs, UICues.cs, UICuesEventArgs.cs,
13706 UICuesEventHandler.cs, X11Structs.cs, XplatUI.cs,
13707 XplatUIDriver.cs, XplatUIStructs.cs, XplatUIWin32.cs,
13708 XplatUIX11.cs, lang.cs: