Commit Graph

949 Commits

Author SHA1 Message Date
Dimitrie O. Paun
8f38417376 Unify set_{owner,main}_item functions.
Fix {old,new}state and lParam reporting in LVN_ITEMCHANG{ING,ED}.
Fix sanity check conditions for LVS_OWNERDATA.
2002-10-17 21:54:57 +00:00
Dimitrie O. Paun
96dca36cc8 More, better tracing to help nail down some crashes.
Fix typo in GetItemT (found, and fixed by Huw Davies).
Exit right away from GetItemT if nothing is asked (mask == 0).
Assorted code cleanups.
2002-10-17 21:53:56 +00:00
Dimitrie O. Paun
305fb4c3dd Deal with sparsely populated listviews.
Crash on internal corruption.
2002-10-17 21:38:21 +00:00
Dimitrie O. Paun
ef4a6fc7e5 Add ability to create an iterator over a range list.
Fix memory leak when destroying ranges.
Add function that will to a 'deep' clone of a range list.
Add function that will subtract a range list from another.
Do not crash on NULL ranges (similar in spirit to HDPAs).
Fancy deselection routines uses the above infrastructure to deselect
the minimum possible.
Modify SetGroupSelection to take advantage of all this new
infrastructure, to avoid flicker on selection extension.
2002-10-17 21:37:24 +00:00
Dimitrie O. Paun
fa81ec674b Change the definition of ranges to exclude the upper bound. 2002-10-17 21:36:29 +00:00
Dimitrie O. Paun
bac35001fe Handle range tracing in a consistent fashion. 2002-10-17 21:35:47 +00:00
Dimitrie O. Paun
58b2ad925b Remove dated comments. 2002-10-17 21:35:08 +00:00
Dimitrie O. Paun
66dd824dbc Better encapsulation of the ranges concept. 2002-10-17 21:34:15 +00:00
Dimitrie O. Paun
be8189bd9c Notification code cleanup, more traces, etc. 2002-10-17 01:20:18 +00:00
Jerry Jenkins
7d789599d5 Added missing RemoveProp calls. 2002-10-17 01:18:52 +00:00
Dimitrie O. Paun
89eb8fdba3 We need to provide focus info always in ICON mode (spotted by Huw
Davies).
2002-10-16 19:57:31 +00:00
Mike McCormack
bcfffe7b08 Duplicate selected items list in LISTVIEW_RemoveAllSelections to
prevent infinite loops.
2002-10-16 19:56:06 +00:00
Dimitrie O. Paun
3dd4dabffb Remember the global colors in custom draw mode. 2002-10-16 19:05:43 +00:00
Dimitrie O. Paun
ef9adbb6f5 Compute only the old state that we're gonna look at. 2002-10-16 19:05:02 +00:00
Dimitrie O. Paun
8d2f7224f1 Instrument SetItemT to avoid repainting if nothing changed.
Teach RemoveAllSelections to skip an item, so we can eliminate the
flicker when we click on a selected item.
2002-10-16 19:04:07 +00:00
Dimitrie O. Paun
3c9591b413 Fix bug in edit label when sending the text to the app.
Cleanup the handling of nEditLabelItem.
2002-10-16 19:03:25 +00:00
Dimitrie O. Paun
07a6a3975a Edit label cleanup. 2002-10-16 19:02:32 +00:00
Dimitrie O. Paun
6b4a11af0a Fix bug in ranges_shift which was corrupting selections.
Fix click notification (found and fixed by Alexandre Julliard).
Fix bug in setting item's state (some selection changes were lost).
Simplify selection code substantially.
Add a lot of debug tracing.
2002-10-16 19:01:38 +00:00
Dimitrie O. Paun
da9bac4d9e Add comment on what is known about the current state of the controls
relative to comctl32.dll version 6.0.
2002-10-16 18:57:14 +00:00
Dimitrie O. Paun
db14dbf12b Fix iterator creation for LVS_LIST mode.
Do not update the infoPtr->nItemWidth in set_main_item.
Better handling of text bk colour in custom draw.
Rename GetItemListOrigin to GetItemOrigin.
A bunch of code cleanups, simplifications, etc.
2002-10-15 21:08:09 +00:00
Dimitrie O. Paun
17dce17a58 No longer compute the ill-defined bounds in GetItemMetrics.
Fix a bunch of bug in subitem metrics computation.
Properly implement GetSubItemRect in terms of GetItemMetrics.
Documentation updates, and code cleanups.
2002-10-15 21:07:01 +00:00
Dimitrie O. Paun
3a5105c957 Teach GetItemMetrics to deal with subitems in report mode as well.
Unify Draw{,Sub}Item, simplify RefreshReport.
2002-10-15 21:06:14 +00:00
Dimitrie O. Paun
f378bbd5a5 Fix iterator creation for LVS_LIST mode.
Use assert() instead of hand-made hack.
2002-10-15 21:05:29 +00:00
Dimitrie O. Paun
3baa344a43 Fix iterators to properly deal with LVS_{,SMALL}ICON modes.
Unify the Refresh{List,Icon} functions.
Simplify HitTest to make full use of the iterators.
Fix selection bounds in HitTest.
Avoid empty default to silence warning in gcc 3.2.
2002-10-15 21:03:10 +00:00
Dimitrie O. Paun
50b4688c7e Iterator updates:
Add the notion of a special item which sits at the start of the
   list.
   Add the ability to iterate in both directions through the list.
   Document the iterator interface.
   Remove iterator_visibleitems.
   Rename iterator_clippeditems to iterator_visibleitems for
   consistency.
Use the new bidirectionality to paint the items in decreasing order.
2002-10-15 21:01:57 +00:00
Dimitrie O. Paun
0bc4b56595 Do not merge image with garbage background. Based on a patch by Carlos
<clozano@andago.com>.
2002-10-15 02:15:09 +00:00
Michael Günnewig
2cf92565df Fixed division by zero, when range is 0. 2002-10-15 01:20:51 +00:00
Uwe Bonnes
e14cfc497a Add function to get size of in-memory resource and used this function
to copy resource to writable memory.
2002-10-13 17:54:48 +00:00
Dimitrie O. Paun
00ea0868ba Rename GetItemHeight to CalculateMaxHeight, for consistency
Fix usage of nItemWidth vs. iconSpacing.cx
Misc cleanups.
2002-10-11 23:34:32 +00:00
Dimitrie O. Paun
a1ca0122b9 Use the item box rather than the bounds when invalidating.
Implement 'bPartial' in EnsureVisible.
2002-10-11 23:33:25 +00:00
Dimitrie O. Paun
ed29ffdea4 Unify DrawLargeItem with DrawItem. 2002-10-11 18:47:03 +00:00
Dimitrie O. Paun
0b93d5c4c5 Use GetItemMetrics instead of GetItemMeasures.
Remove GetItemMeasures.
Add GetItemBox which only returns the boundary of the item.
2002-10-11 18:46:21 +00:00
Dimitrie O. Paun
ac756afcc2 Be real tough on internal programming errors. 2002-10-11 18:00:28 +00:00
Dimitrie O. Paun
dda1e31ce7 Remove support for owner drawn listviews in non-REPORT mode. We need
to do this since Windows supports owner draw *only* in report mode,
and hence apps are not prepared to handle drawing in other modes.
2002-10-11 17:59:39 +00:00
Dimitrie O. Paun
4150f31f58 Use GetItemMetrics instead of GetItemMeasures when drawing. 2002-10-11 17:58:56 +00:00
Dimitrie O. Paun
01b5226508 Make use of the new GetItemMetrics in HitTest, to avoid code
duplication.
2002-10-11 17:58:11 +00:00
Dimitrie O. Paun
f1f447931e Separate item metrics computation from positioning
Add support for computing state icon metrics.
2002-10-11 17:57:27 +00:00
Alexandre Julliard
5feaff534b LVS_OWNERDRAWFIXED should only take effect in REPORT mode. 2002-10-11 04:19:20 +00:00
Dimitrie O. Paun
1c6c29e313 Fix drawing bug introduced with the custom notification
reorganization.
2002-10-10 22:57:45 +00:00
Dimitrie O. Paun
01dbe3999e Simplify the report mode, and item drawing considerably.
Fix full row select in report mode.
2002-10-10 22:55:21 +00:00
Dimitrie O. Paun
ffd4bd37d0 Handle custom draw notifications properly.
Various cleanups, and simplifications.
2002-10-10 22:54:06 +00:00
Dimitrie O. Paun
d2d4baf96b Remove superfluous abstractions which make the code harder to
understand.
2002-10-10 22:52:56 +00:00
Dimitrie O. Paun
6d6be0e1d4 Move the custom draw notifications into the Draw.*Item functions. 2002-10-10 22:52:12 +00:00
Dimitrie O. Paun
a994fb8135 Move the custom draw item notifications down into DrawLargeItem. 2002-10-10 22:51:27 +00:00
Dimitrie O. Paun
7ac890984d Fix silly redraw bug introduced in previous patch.
Tidy up, and simplify large item drawing.
2002-10-10 22:50:49 +00:00
Dimitrie O. Paun
50ed9b9962 Implement WM_SETREDRAW properly. 2002-10-10 22:50:09 +00:00
Dimitrie O. Paun
12dca97b9d Rework the mouse click notifications
Assorted cleanups, and simplifications.
2002-10-10 22:49:29 +00:00
Dimitrie O. Paun
1094c63c0e Use (semi)standard HitTest, rather then our own little invention.
Get rid of GetItemAtPt.
Fix HitTest but in REPORT mode.
2002-10-10 22:48:36 +00:00
Michael Stefaniuc
bc54d78532 - change the internal functions in windows/cursoricon.c to use 32bit
handles
- move the implementation of ExtractAssociatedIcon16 to
  ExtractAssociatedIconA
- convert HICON to a void*
- fixed some handle conversions that happened to be in the way while
  doing the above
2002-10-10 21:22:09 +00:00
Paul Rupe
8b3da5e3ba Scroll the listview when doing multiple selections. 2002-10-10 18:56:50 +00:00