Commit Graph

987 Commits

Author SHA1 Message Date
Dimitrie O. Paun
a87b685350 Do not send uninitialized lParams on notification msgs (found by Rein
Klazes <rklazes@xs4all.nl>).
2002-10-21 19:46:46 +00:00
Dimitrie O. Paun
6deae0b86d Complete rewrite of the rcView implementation.
Lots of bugs fixed in rcView computation.
Assorted cleanups, and simplifications.
2002-10-21 19:46:08 +00:00
Dimitrie O. Paun
c9e0133357 Split ranges_destroy in ranges_clear, and ranges_destroy.
Rewrite DeleteAllItems, for cleaner, faster, more correct code.
2002-10-21 19:45:29 +00:00
Dimitrie O. Paun
62f4c61d22 Updated header documentation to the latest, and greatest. 2002-10-21 19:44:51 +00:00
Dimitrie O. Paun
06701fb09e Optimize invalidation on insert.
Share the invalidation code between {Delete,Insert}Item.
2002-10-21 19:44:18 +00:00
Dimitrie O. Paun
f18e271bff Rewrite DeleteItemT: cleaner, a lot faster.
Number of bug were fixed.
The minimum possible is redrawn.
2002-10-21 19:43:37 +00:00
Dimitrie O. Paun
c859242ac8 Implement most of LVM_ARRANGE.
Make use of it, where it was appropriate.
Use infoPtr->dwStyle directly, in most places.
Assorted cleanups.
2002-10-21 19:43:03 +00:00
Dimitrie O. Paun
56c17651a0 Proper (type wise) return types. 2002-10-21 19:42:30 +00:00
Dimitrie O. Paun
214c721160 Reorganize header notifications.
Support notifications that don't have embedded size info.
Invalidate columns on format change (if needed).
Assorted cleanups.
2002-10-21 19:41:56 +00:00
Dimitrie O. Paun
713d0a061f Crash on internal NULL pointers, don't test all over the place. 2002-10-21 19:41:00 +00:00
Dimitrie O. Paun
e37692bd33 When removing focus, no need to go through all elements. 2002-10-21 19:40:26 +00:00
Dimitrie O. Paun
feb326118f Fix colors for selected items in full row select mode.
Fix bug caused by use of uninitialized state.
2002-10-21 19:39:45 +00:00
Dimitrie O. Paun
7c26e53ac0 Fix computation of subitem box, when invalidating it. 2002-10-21 19:34:38 +00:00
Dimitrie O. Paun
2223014df3 Assert on inconsistent range list states.
Various code cleanups, few potential bugs fixed.
2002-10-21 19:33:59 +00:00
Dimitrie O. Paun
074e2b4caa Do not grow the item list to arbritary index: if requested index is
larger than current count, just append.
Miscellaneous cleanups.
2002-10-21 19:33:14 +00:00
Dimitrie O. Paun
be0641face SetColumnWidth rewrite: simpler, cleaner code. Bugs squashed. 2002-10-21 19:32:38 +00:00
Dimitrie O. Paun
bf965278b5 Handle generic column width changes.
Fix bug in SetColumnT which rendered it unusable.
Column code cleanup.
2002-10-21 19:32:07 +00:00
Dimitrie O. Paun
0acaf0e961 Assert on internal invariants, rather than fail gracefully. 2002-10-21 19:31:34 +00:00
Dimitrie O. Paun
88c26b9c01 More docs compliant alignment handling for subitems. 2002-10-21 19:31:01 +00:00
Dimitrie O. Paun
f8514f5b3c Fix notification from header, on item changed.
Small indentation fixes.
2002-10-21 18:22:51 +00:00
Duane Clark
d126f4768c Correct the behavior for disabled toolbar buttons. 2002-10-21 18:19:02 +00:00
Dimitrie O. Paun
0def1dd4e4 Do not create a range list for an empty range. 2002-10-19 19:26:17 +00:00
Dimitrie O. Paun
0613b7212a Store the entire format bitmap in the column info.
Rewrite GetColumnT to take advantage of that.
Related cleanups, and simplifications.
2002-10-19 19:25:41 +00:00
Dimitrie O. Paun
569de03864 Column zero has the image enabled always, irrespective of format. 2002-10-19 19:25:01 +00:00
Dimitrie O. Paun
231e9ef25b Unify {Insert,Set}ColumnT as much as possible.
Fix a bunch of problems in SetColumnT.
2002-10-19 19:24:24 +00:00
Dimitrie O. Paun
3893cb7fb2 Fix function header documentation. 2002-10-19 19:23:31 +00:00
Dimitrie O. Paun
e877b77a9d Better report mode.
Use the new column information to simplify, and speed up the code.
Enable support for images in subitems (in LVS_REPORT mode).
2002-10-19 19:20:35 +00:00
Dimitrie O. Paun
0dbab63fa6 When deleting an item, remove selection, don't add it! 2002-10-19 00:59:34 +00:00
Dimitrie O. Paun
0ba3dc7589 More traces to help us make sense of the output.
Faster, cleaner ranges_{add,del}.
2002-10-19 00:21:02 +00:00
Dimitrie O. Paun
c79eb2de5f Fix ranges insertion bug (specify DPAS_SORTED when searching).
Add a lot of assert-ed consistency checks.
Add bunch of trace messages.
2002-10-19 00:20:21 +00:00
Dimitrie O. Paun
a2dd8ecc33 Inspect style bits independently on style change. 2002-10-19 00:19:28 +00:00
Dimitrie O. Paun
b50692ee82 Rewrite StyleChanged procedure
o some bugs have been fixed
  o cleaner, simpler code
Fix some corner case, icon size computation bugs.
Assorted docs updates.
2002-10-19 00:18:48 +00:00
Dimitrie O. Paun
323f9c23f0 Keep track of per-column information inside the listview.
Cache header rectangles.
Used the cached info instead of calling to the header each time.
Update the listview as we track column width changes.
Unify column handling between {Insert,Delete}Column, and width
changes.
Simplify RefreshReport, by using the new column info.
2002-10-19 00:18:11 +00:00
Dimitrie O. Paun
a72e9f617e Do not query items that are just being inserted. 2002-10-19 00:17:24 +00:00
Dimitrie O. Paun
f8f559fa3c Reorganize things a bit so that we no longer need the 'valid' flag on
each item.
Small comments update.
2002-10-19 00:16:37 +00:00
Alexandre Julliard
23bb3715f7 Added support for building certain dlls with -DSTRICT.
Added -DWINE_NO_STRICT flag to dlls that don't support STRICT yet.
2002-10-18 23:46:28 +00:00
Martin Fuchs
fe7d46a221 pszText is stored as Unicode, so call DrawTextW() instead of
DrawTextA().
2002-10-18 00:20:04 +00:00
Dimitrie O. Paun
c18c7332b8 Instrument SetItemT to change only _one_ item at a time. That is, if
we have to change focus, we call it recursively to first remove the
focus from the item that has it. This allows simpler, and more correct
invalidation handling.
2002-10-17 21:55:41 +00:00
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