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
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
Dimitrie O. Paun
05b4a09357
Narrow down the items we iterate over in LIST, and REPORT mode.
...
Fix a Client --> List coordinate transformations in FindItem.
Fix bug in HitItem (in LIST and REPORT mode).
Avoid the last bit of drawing in REPORT mode.
2002-10-10 03:13:14 +00:00
Dimitrie O. Paun
9d678ff740
Draw _only_ the items that are invalidated.
...
Fix serious bug when deleting from a range.
Pass in a range to the ranges_{add,del} functions.
Tidy up the RefreshIcon function.
Assorted cleanups.
2002-10-10 03:12:05 +00:00
Dimitrie O. Paun
0295e4fceb
Reimplement FindItem (cleaner, faster, more compliant with MSDN).
2002-10-10 03:10:20 +00:00
Dimitrie O. Paun
1313431b1b
Rewrite HitTest to make it pretty, and very fast.
2002-10-10 03:08:45 +00:00
Dimitrie O. Paun
a80ced02e9
Introduce the notion of item iterators, and use them to clean up code.
2002-10-10 03:07:04 +00:00
Dimitrie O. Paun
00e3435f54
Separate range manipulation functions from selection ranges.
2002-10-10 03:05:28 +00:00
Dimitrie O. Paun
764607d931
Fix large item label calculation when not focused.
...
Fancy focus rectangle handling.
2002-10-10 03:04:34 +00:00
Dimitrie O. Paun
b2056c22b5
Fix focus handling when deleting items, or changing modes.
...
Better label rect calculation in ICON mode.
2002-10-10 03:03:39 +00:00
Dimitrie O. Paun
c95b2a0202
Fix large item handling focus in ICON mode.
2002-10-10 03:02:30 +00:00
Dimitrie O. Paun
bbf878ded6
No need to go through the heavy duty rect computation when in OWNERDRAW.
2002-10-10 03:01:10 +00:00
Dimitrie O. Paun
a625dd394d
Factor out owner draw code, so that it works for all modes.
...
Documentation updates.
2002-10-10 02:59:34 +00:00
Dimitrie O. Paun
b8d5715bc1
Factor out the computation of item position, so it can be used
...
independently of the rectangles.
2002-10-10 02:58:47 +00:00
Dimitrie O. Paun
f29d0ce05b
Unify LISTVIEW_UpdateLargeItemLabelRect, and GetItemMeasures.
...
Optimize GetItemMeasures to the max.
Centralize the DrawText's DT_* flags.
2002-10-10 02:57:50 +00:00
Dimitrie O. Paun
1fc91d2d65
Get rid of 'goto's in GetItemMeasures.
...
Move LISTVIEW_UpdateLargeItemLabelRect close to where it's used.
2002-10-10 02:56:57 +00:00
Dimitrie O. Paun
cf4670cba2
Fix braino in calculation of LVS_LIST origin.
...
Invalidate the entire window when we are invalidating the list.
2002-10-10 02:56:13 +00:00
Dimitrie O. Paun
74e43dd023
Fixed bug that caused item texts to be empty.
2002-10-08 01:55:32 +00:00
Dimitrie O. Paun
783bab61de
Fix nasty bug generated by UINT vs. INT (resulted in bogus
...
comparisons).
Fix LVIR_SELECTBOUNDS computation, for REPORT mode.
Fix dependency generation in GetItemMeasures.
Fix rectangle computation for REPORT mode (corner case problems).
Better debug messages.
Assorted cleanups.
2002-10-07 22:43:42 +00:00
Dimitrie O. Paun
97ffbfad72
Cleaned up the rectangle handling, and fixed numerous bugs in
...
rectangle calculations.
2002-10-07 22:42:44 +00:00
Paul Rupe
1446a06ce9
Fix inaccurate listview scrolling with PgUp/Down and Home/End keys.
2002-10-07 21:44:01 +00:00
Dimitrie O. Paun
3ac601d52b
Fix silly bug in SetItemPosition (we should set it, not create a new
...
one).
2002-10-07 18:51:52 +00:00
Dimitrie O. Paun
b9cacc438a
Maintain the item position in {,SMALL}ICON mode separataly from the
...
item, so that we have it even in LVS_OWNERDATA.
2002-10-07 18:50:21 +00:00
Dimitrie O. Paun
6cfd83b985
Cleanup the SetItemPosition interface.
2002-10-07 18:48:47 +00:00