Commit Graph

1235 Commits

Author SHA1 Message Date
Duane Clark
65a9f4daac Support the undocumented behavior of deleting column zero. 2003-02-14 23:31:45 +00:00
Dimitrie O. Paun
00ccf38987 Correctly remember the first paint event, but delay item metrics
calculation until we actually have some items.
2003-02-14 19:24:11 +00:00
Gerald Pfeifer
820157b836 Avoid warnings caused by assert(...). 2003-02-12 21:28:04 +00:00
Dimitrie O. Paun
15e0657f6b Compute matrix of first paint when we actually have some items
(problem first spotted & debugged by Duane Clark).
2003-02-11 22:17:31 +00:00
Alexandre Julliard
43690e9e47 Removed no longer needed inclusion of heap.h. 2003-01-24 00:54:58 +00:00
Francois Gouget
9b0b1e078a Remove (POINTER)NULL casts. 2003-01-14 23:43:41 +00:00
Dan Kegel
0fd521fee3 Change RECT to use LONG to match win32 standard headers and fix format
strings to use %ld for RECT elements.
2003-01-08 21:09:25 +00:00
Dimitrie O. Paun
297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Alexandre Julliard
b4a4c05aed Removed a few more #ifdef __WINE__. 2003-01-04 00:19:17 +00:00
Dimitrie O. Paun
cef5961d2b Eliminate lots of __WINE__ conditionals from the headers. 2003-01-03 19:12:55 +00:00
Lionel Ulmer
5e36ae56b2 Check the value of the pfnCallback in addition to the callback bit. 2003-01-03 03:06:42 +00:00
Chris Morgan
fa93b446d0 Listview should scroll by at least one column, fixes bug where item
being wider than listview prevents any scrolling from occuring.  Added
printing of the scroll code text during tracing of scroll functions.
2003-01-03 03:04:22 +00:00
Rein Klazes
0e162e4643 Let ANIMATE_OpenA return FALSE (= failure) upon a request to close a
previously opened AVI clip when there isn't one.
2003-01-02 17:54:23 +00:00
Duane Clark
521aa7412d Validate imagelists with christmas magic. 2003-01-02 17:51:13 +00:00
Duane Clark
3d2e380244 Report mode padding tweaks.
Fix to LISTVIEW_GetSubItemRect.
2002-12-23 02:02:06 +00:00
Rolf Kalbermatter
6c79930413 Add config.h/port.h to allow compilation/linking in MSVC.
Fix some unsigned/signed warnings.
2002-12-16 22:43:58 +00:00
Robert Shearman
096becedd8 Implemented StrStrIW. 2002-12-13 23:25:59 +00:00
Rolf Kalbermatter
4f7ec6335c Typo found by compiling with standard MSVC warning level. 2002-12-13 00:35:44 +00:00
Dimitrie O. Paun
9c50730354 Get rid of generic notification support in comctrl32. The MS docs were
misleading in that all controls send these notifications. They don't.
2002-12-10 19:07:59 +00:00
Dimitrie O. Paun
5720007370 - Plug a bunch of memory leaks.
- Make ranges_destroy behave more like free().
- Fix messed up indentation from tabs set to 4 chars.
- Updated the documentation.
2002-12-10 19:07:27 +00:00
Francois Gouget
3db0008552 Define PSH_WIZARD97 (problem reported by jaymz@free.fr). 2002-12-06 23:19:54 +00:00
Ove Kaaven
1f5315c80f Make sure that no files except unknwn.h include wine/obj_base.h
directly.
2002-12-05 20:33:07 +00:00
Alexandre Julliard
18d029722f Removed input.h, queue.h, spy.h and sysmetrics.h and moved their
contents to user.h.
Moved message.h and winproc.h to dlls/user.
2002-12-03 23:34:52 +00:00
Francois Gouget
d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Dimitrie O. Paun
d2e881d543 - Typesafe parameters from TREEVIEW_NotifyFormat.
- Rewrite TREEVIEW_NotifyFormat.
- Fix several invocations of TREEVIEW_SendTreeviewNotify.
2002-11-27 20:15:49 +00:00
Andreas Mohr
1e6258fca5 Added the missing cx member to the MyDLGITEMTEMPLATEEX struct. 2002-11-25 02:45:19 +00:00
Aric Stewart
eb56d81956 LVN_GETDISPINFO seems to always be Ansi. 2002-11-25 01:11:11 +00:00
Tisheng Chen
80a6620815 Added Simplified Chinese support. 2002-11-20 19:47:44 +00:00
Alexandre Julliard
bb0fd59674 Setting the horizontal scrollbar can change the values for the
vertical one so make sure we compute them separately.
2002-11-18 19:51:11 +00:00
Dimitrie O. Paun
0fe326c499 Use DeleteDC instead of DeleteObject to free HDCs (spotted by Dietrich
Teickner <Dietrich_Teickner@t-online.de>).
Clear the imagelist structure on deletion, as some stupid apps free
imagelists multiple times.
2002-11-18 19:45:22 +00:00
Ulrich Czekalla
fbf98737d2 - Add support for multiple image lists.
- Add TBN_INITCUSTOMIZE notification.
- Correctly populate TBN_QUERYDELETE.
- Support TBN_GETBUTTONINFOW.
2002-11-13 21:21:03 +00:00
Huw Davies
8d74ef1030 Check the return value of ImageList_GetImageInfo before adjusting the
size.
2002-11-13 19:39:09 +00:00
Rolf Kalbermatter
91befd6902 Fix some NULL dereferencing. 2002-11-11 22:19:42 +00:00
Dimitrie O. Paun
add721769b Do not draw the text of the item being edited. 2002-11-06 22:32:00 +00:00
Dimitrie O. Paun
c6ff9064d0 Fix the 'jumping selection' bug (#1108).
Misc small cleanups.
2002-11-06 22:01:56 +00:00
Alexandre Julliard
1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Carlos Lozano
5347222b23 lParam was not properly sent in COMBOEX_DrawItem. 2002-10-31 22:02:47 +00:00
Dimitrie O. Paun
40dab82a13 Append columns with large column indices. 2002-10-31 22:01:33 +00:00
Dmitry Timoshkov
601a3abec1 Fix some types and function prototypes according to Platform SDK
definitions.
2002-10-31 01:04:39 +00:00
Dimitrie O. Paun
4bbd7b3e26 Fix some treeview notification codes between ANSI/Unicode mode. 2002-10-31 00:54:53 +00:00
Rein Klazes
d9310e76c4 Fix for listview wheelmouse message handling. 2002-10-29 23:08:33 +00:00
Sander van Leeuwen
f9768f4792 Fixed font object leak in WM_SETFONT handler. 2002-10-29 21:28:37 +00:00
Dimitrie O. Paun
02af550a2a Send the right notification code (A/W) depending on the Unicode
setting.
2002-10-29 21:25:35 +00:00
Alexandre Julliard
26a470e1f0 set_main_item: ignore meaningless bits in stateMask for LVS_OWNERDATA
instead of failing.
2002-10-28 21:21:42 +00:00
Dimitrie O. Paun
2d2e6acbbd We should always have a main item in report mode. 2002-10-28 20:40:21 +00:00
Dimitrie O. Paun
7e12841030 Properly fill lParam in NMLISTVIEW. 2002-10-28 20:38:39 +00:00
Dimitrie O. Paun
173d40a493 Fix crash-inducing typo/thinko. 2002-10-28 20:38:03 +00:00
Dimitrie O. Paun
5574e750c5 Mark immutable objects as const. Fix inconsistent *-style. 2002-10-28 20:37:28 +00:00
Dimitrie O. Paun
f5221578f6 Add LVHITTESTINFO debug helper. More tracing. 2002-10-28 20:36:52 +00:00
Dimitrie O. Paun
17b97eb929 Despite what the docs say, we have to invalidate the list on
WM_SETREDRAW(TRUE).
2002-10-28 20:36:16 +00:00
Dimitrie O. Paun
ccc8f7dca9 Eliminate flicker when resizing, docs updates. 2002-10-28 20:35:44 +00:00
Dimitrie O. Paun
19a1c42386 Cleanup, and simplification of UpdateSize. 2002-10-28 20:35:09 +00:00
Dimitrie O. Paun
9a9fcab763 Handle focus item properly in SetItemCount. 2002-10-28 20:34:34 +00:00
Dimitrie O. Paun
f9e70d8b81 Remove only the necessary selections when setting the item count. 2002-10-28 20:34:00 +00:00
Dimitrie O. Paun
28a2f193a3 Rewrite of the SetItemCount: bugs got squashed,
LVSICF_{NOSCROLL,NOINVALIDATEALL} implemented.
2002-10-28 20:33:18 +00:00
Carlos
5803819971 lParam was not properly sent in TTM_ADDTOOLW. 2002-10-28 18:50:36 +00:00
Carlos
392defd3ef lParam was not properly sent in CBEN_GETDISPINFOW. 2002-10-28 18:50:14 +00:00
Andreas Mohr
6e256c72fe - fix some pselling
- enhance some TRACEs
2002-10-25 19:09:02 +00:00
Dimitrie O. Paun
5a11b009f1 Do not invalidate list on WM_SETREDRAW.
Update size info even if redrawing is disabled.
Trivial cleanups, and some tracing.
2002-10-25 03:21:25 +00:00
Dimitrie O. Paun
221398344e We can avoid flicker on column resize only if it's left align. 2002-10-25 03:20:43 +00:00
Dimitrie O. Paun
fa5b29acd3 Always draw the main item in full row select. 2002-10-25 03:20:03 +00:00
Dimitrie O. Paun
f7441d00ed Use iterators to render over the columns, in report mode. 2002-10-25 03:19:24 +00:00
Dimitrie O. Paun
863d6a87f5 Small iterator-over-range[s] cleanup. 2002-10-25 03:18:47 +00:00
Dimitrie O. Paun
83679e6b88 Eliminate most of the flicker when resizing columns.
More debug tracing.
2002-10-25 03:18:07 +00:00
Dimitrie O. Paun
ab97b86902 Fix subitem background color in full row select. 2002-10-25 03:17:36 +00:00
Dimitrie O. Paun
b14c82a8b8 We should callback for inexistent subitems.
Do not store callback items for subitems, even if we're asked to.
Small cleanup.
2002-10-25 03:17:04 +00:00
Dimitrie O. Paun
16db256923 Fix crash when computing the item width of a report with no columns.
Override custom draw bkgnd color for selection items.
Fill background for all items that have a bkgnd colour.
2002-10-25 03:16:26 +00:00
Dimitrie O. Paun
3520c83275 Keep autoarranging items until one is moved. 2002-10-25 03:15:51 +00:00
Dimitrie O. Paun
01e82f2b27 Abstract autoarranging decision to a helper function. 2002-10-25 03:15:18 +00:00
Dimitrie O. Paun
5b8361463d Do not do screen work if refreshing is disabled.
Reimplement SetRedraw to cope with the changes.
2002-10-25 03:14:44 +00:00
Dimitrie O. Paun
c4e45d7f94 Rewrite the UpdateScroll function: simpler, faster.
Add debugging helper for SCROLLINFO.
Fix potential bug in debugging helpers.
2002-10-25 03:14:06 +00:00
Dimitrie O. Paun
89ab25a737 Avoid division by 0 by initializing the item size in on creation.
Rename update_icon_size to set_icon_size, fix parameters order.
Assorted cleanups.
2002-10-23 23:32:50 +00:00
Dimitrie O. Paun
5ffde298fe Append to the end of the DPA, if insert index is too large. 2002-10-23 23:32:19 +00:00
Carlos
9fa51e4172 Fixed duplicated arrows in header control. 2002-10-23 23:31:35 +00:00
Dimitrie O. Paun
b894605987 Fix thinko that slipped in with the prev patch (reenables refresh).
Mark a few things that needs looking at.
Small cleanup.
2002-10-23 22:32:25 +00:00
Dimitrie O. Paun
9cdcd44eaa Do not invalidate the window before the first paint job.
Assorted cleanups.
2002-10-23 22:31:47 +00:00
Dimitrie O. Paun
f7051c88ae Use InvalidateItem instead of explicit InvalidateRect, it is cleaner,
and faster when redraw is disabled.
2002-10-23 22:31:13 +00:00
Dimitrie O. Paun
c093196c05 Transform the invalidation macros to proper functions. 2002-10-23 22:30:39 +00:00
Dimitrie O. Paun
bf46fab650 Delay some size computations until after first paint. 2002-10-23 22:29:47 +00:00
Rein Klazes
7d9b04dbe2 Reorganize the item size calculation (a bit simpler, and faster). 2002-10-23 22:28:44 +00:00
Rein Klazes
1fd077939f Search through all items when LISTVIEW_FindItemW is called with
LVFI_PARAM flag.
2002-10-23 22:28:03 +00:00
Dimitrie O. Paun
bf761a331c Delete the items if we actually own them. 2002-10-23 22:25:42 +00:00
Dimitrie O. Paun
8f15b6e6b3 Do not callback to the parent for lParam when in LVS_OWNERDATA.
Docs update.
2002-10-23 22:25:10 +00:00
Michael Stefaniuc
353529b2c8 - fix the "int format, HANDLE arg" type of warnings for comctl32
- compile the comctl32 dll with -DSTRICT
2002-10-23 22:19:10 +00:00
Michael Stefaniuc
85e40cf37a Add casts to compile with -DSTRICT. 2002-10-23 20:58:33 +00:00
Dimitrie O. Paun
5acd96bb4e Do not crash if callback text is not filled (behave like native).
Render report mode from top to bottom (easier on the eye).
Docs updates, type fixes, more traces.
2002-10-23 20:57:13 +00:00
Dimitrie O. Paun
6608328f76 Collect all bugs, missing features, etc in the header doc.
Minor cleanups.
2002-10-23 20:56:30 +00:00
Dimitrie O. Paun
9ff0da09ff Do not autoarrange if we insert/delete from the end of the list. 2002-10-23 20:55:05 +00:00
Dimitrie O. Paun
c5da549d10 Rework SetItemPosition, bunch of bugs squashed in the process.
Complete icon alignment rewrite: cleaner, incremental, etc.
Completely avoid aligning all icons on every insert
  - icon placement is incrementally computed now: it's fast.
Small cleanups, docs update, etc.
2002-10-23 20:54:23 +00:00
Dimitrie O. Paun
c5e2731939 Rename LISTVIEW_ITEM to ITEM_INFO for consistency.
Rename LISTVIEW_SUBITEM to SUBITEM_INFO for same reason.
Fix type in comment spotted by Bobby Bingham.
2002-10-23 20:53:42 +00:00
Patrik Stridvall
cf07e10017 Don't use wine/unicode.h in the header files, include it directly
where needed instead.
2002-10-23 20:20:59 +00:00
Michael Stefaniuc
f3d1893f80 Add needed casts for a "no warnings" compile of comctl32. 2002-10-23 20:19:22 +00:00
Christian Neumair
513eb2a24a Collect all bugs, missing features, etc in the header doc. 2002-10-23 18:43:32 +00:00
Dimitrie O. Paun
d664540782 Bring header's height more inline with native's. 2002-10-22 00:41:45 +00:00
Dimitrie O. Paun
254e7484fa DPAs can't have more than 0x8000 elements (fixed with lots of help
from Carlos <clozano@andago.com).
2002-10-21 19:54:06 +00:00
Dimitrie O. Paun
c7fbc1b2c9 No need to increment item size, it's already adjusted by DPA_SetPtr
(found, and fixed by Carlos <clozano@andago.com>).
2002-10-21 19:49:44 +00:00
Dimitrie O. Paun
6168b98176 Do not rely on HeapReAlloc to allocate a NULL pointer. 2002-10-21 19:49:12 +00:00
Dimitrie O. Paun
7888385d76 Rewrite DPA_InsertPtr in terms on DPA_SetPtr, so that it's simpler,
cleaner, and more correct.
It now expands the array to accomodate larger than current size
indexes.
2002-10-21 19:48:37 +00:00
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
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
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