Commit Graph

422 Commits

Author SHA1 Message Date
Alexandre Julliard 55cb8177b5 Authors: Ulrich Czekalla <ulrich@codeweavers.com>, Huw Davies <huw@codeweavers.com>
Added drag and drop support to listview.
2003-11-04 04:22:37 +00:00
Huw Davies b37adfb4b5 Make the listview send its notifications to the parent window passed
to it in CREATESTRUCT.  Based on a treeview patch by Igor Grahek.
2003-11-03 22:15:22 +00:00
Daniel Marmier ee1eb63b31 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-07 03:30:47 +00:00
Dimitrie O. Paun 7de279a73a Rename COMCTL32_{Alloc,ReAlloc,Free} to {Alloc,ReAlloc,Free}. 2003-09-22 21:32:33 +00:00
Maxime Bellengé e5cd5a778a When an item is activated, we should send a NMITEMACTIVATE struct and
not a NMHDR one.
2003-09-22 19:27:33 +00:00
Alexandre Julliard f5cb3dde17 Moved undocumented functions out of the exported commctrl.h. 2003-09-17 20:15:21 +00:00
Alexandre Julliard 9d61596624 SLOWORD and SHIWORD do not exist on Win32 (reported by Filip Navara). 2003-09-17 04:28:28 +00:00
Alexandre Julliard cf52644a1c Removed the A/W constants for builtin cursors, icons and resource
types since they don't exist on Windows, and added typecasts
everywhere instead.
2003-09-10 03:56:47 +00:00
Francois Gouget ae50013017 Fix the case of product and company names. 2003-09-08 19:38:45 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Dimitrie O. Paun 6d0019fb0e Adjust selection ranges before we insert the item so we don't mix the
new selection with the existing ones (reported by Eric Pouech).
2003-09-04 19:38:44 +00:00
Dimitrie O. Paun dad477ce3f If we don't send custom draw messages for subitems, inherit the color
& text attributes of the main item.
2003-09-01 23:55:33 +00:00
Dimitrie O. Paun 31d4a7c47f Always setup the selection colour, not just in custom draw. 2003-08-25 23:44:51 +00:00
Dimitrie O. Paun 2fb93f1b85 Fix the hit test for full row select in REPORT mode (found, debugged,
and tested by Eric Pouech).
2003-08-25 00:53:11 +00:00
Stefan Haller 43858e4d0d Ignoring LISTVIEW_ScrollColumns() request if no columns in list. 2003-07-24 00:03:13 +00:00
Francois Gouget 56aaea2f43 Spelling fixes. 2003-07-09 02:52:57 +00:00
Dimitrie O. Paun 36d0e2ba63 Align the text vertically in single line labels (spotted by BiGgUn). 2003-06-06 18:13:47 +00:00
Dimitrie O. Paun bc9de0500e Remove bFirstPain funky optimization, it is causing too much grief. 2003-06-04 20:19:11 +00:00
Maxime Bellengé 66855d4a22 Fix listview custom draw notification for CDDS_ITEMPREPAINT and
CDDS_SUBITEMPREPAINT messages.
2003-05-22 03:37:10 +00:00
Dimitrie O. Paun bb993e0127 Inserting column zero should not modify the main item (spotted by
Robert Shearman).
2003-05-21 18:25:10 +00:00
Robert Shearman c00aa9985a Fix use of freed memory. 2003-05-13 00:30:10 +00:00
Stephan Beuze 442dd75420 Implemented Get/SetToolTips functions. 2003-05-11 03:44:13 +00:00
Dimitrie O. Paun c6e988eaa0 Fix custom draw for item 0. 2003-05-11 03:29:25 +00:00
Adam Gundy 06d610ec9b Check the mask flags in the item structure to determine how much
memory to read/write.
2003-05-02 20:14:33 +00:00
Dimitrie O. Paun dfdeaaf922 Generate custom draw notifications for ownerdraw listviews (based on a
patch by Maxime Bellengé).
Reorganize the custom draw code for better reuse.
2003-04-30 00:49:44 +00:00
Dimitrie O. Paun a50bd8117f Send LVN_ODCACHEHINT notification for LVS_OWNERDATA style in all modes
(based on a patch by Vitaliy Margolen).
2003-03-24 19:28:50 +00:00
Vitaliy Margolen eded087e4e Changes for Icon and SmallIcon modes:
- fix typo causing wrong scroll boundaries
 - reverse mouse wheel scroll directions
 - fix navigation with keyboard when auto arranged
2003-03-15 00:05:46 +00:00
Dimitrie O. Paun d39af613a3 Spacing information is signed (debugged and fixed by Vitaliy
Margolen).
Decode spacing information in the window procedure.
Some spelling fixes.
2003-03-14 22:58:22 +00:00
Adam Gundy 64eff97f51 When shifting the list's indices, we must not send notify messages if
we have to refocus. Item modification handlers are not supposed to be
called here.
2003-03-07 20:35:30 +00:00
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
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
Duane Clark 3d2e380244 Report mode padding tweaks.
Fix to LISTVIEW_GetSubItemRect.
2002-12-23 02:02:06 +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 d2667a4ce3 Removed unnecessary HANDLE typecasts. 2002-12-02 18:10:57 +00:00
Aric Stewart eb56d81956 LVN_GETDISPINFO seems to always be Ansi. 2002-11-25 01:11:11 +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 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
Dimitrie O. Paun 40dab82a13 Append columns with large column indices. 2002-10-31 22:01:33 +00:00
Rein Klazes d9310e76c4 Fix for listview wheelmouse message handling. 2002-10-29 23:08:33 +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
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 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
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