Commit Graph

539 Commits

Author SHA1 Message Date
Vitaliy Margolen a8e59b1c52 comctl32: Listview - allow selection toggle with ctrl+space. 2006-01-03 12:11:18 +01:00
Francois Gouget 0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Francois Gouget f4c0524ec6 Assorted spelling and case fixes. 2005-11-10 11:39:07 +00:00
Dimi Paun cd1b13fb7d Validate the column index passed in by the caller. 2005-11-05 10:42:35 +00:00
Ulrich Czekalla 795de499d5 Clear bLButtonDown flags if mouse is not down. 2005-11-02 10:56:12 +00:00
Troy Rollo c0b79e0b05 Detect when the notification callback has destroyed the ListView to
avoid attempts to access data that is no longer valid.
2005-10-21 15:49:36 +00:00
Vitaliy Margolen 8fb6037626 Correct Page Up/Down handling in report mode. 2005-10-04 17:58:46 +00:00
Vitaliy Margolen 6ab0b0194d Don't start dragging for a single mouse click. 2005-10-04 15:50:24 +00:00
Michael Jung aa0da30296 Fixed inconsistency in LISTVIEW_DUMP macro. 2005-09-13 14:30:53 +00:00
Frank Richter 9e57091ffa Fix warnings in 64bit. 2005-08-30 10:07:17 +00:00
Frank Richter db5b331f3a Remove unneeded theming check. 2005-08-03 10:56:14 +00:00
Vitaly Lipatov 2af4200877 Use STATEIMAGEINDEX / INDEXTOSTATEIMAGEMASK instead of bit
operations.
2005-08-02 09:47:18 +00:00
Frank Richter d219a54e80 Since OpenThemeData() should return 0 in case theming is disabled
globally or for the application we don't need to check that when
calling OpenThemeData().
2005-07-27 15:16:09 +00:00
Frank Richter d42210dd11 Use theming for the ListView non-client area. 2005-07-25 11:09:38 +00:00
Dimi Paun ebe8b2292a Silence uninitialized warnings. 2005-07-18 09:10:31 +00:00
Kevin Koltzau 28f15a3bdf Forward some header notifications to parent of listview. 2005-07-15 11:42:47 +00:00
Stefan Huehner ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Mike McCormack 882bc4d18d Warning fixes for -Wmissing-declarations and -Wwrite-strings. 2005-06-09 09:50:56 +00:00
Felix Nawothnig 7572fd3870 Fix some missed invalidations after column resize. 2005-06-04 10:00:12 +00:00
Kouji Sasaki 6b5b0b9195 Added the feature to change row height in owner draw controls. 2005-05-30 11:10:01 +00:00
Felix Nawothnig 92f9c3f1b9 Pass the right hwnd to ReleaseDC(). 2005-05-29 20:02:32 +00:00
Kouji Sasaki d8c100478e Added the callback item processing for LISTVIEW_EndEditLabelT
function.
2005-05-26 12:23:38 +00:00
Kouji Sasaki 2218c6e479 Corrected the priority of operators for LISTVIEW_GetNextItem
function.
2005-05-25 09:53:46 +00:00
Kouji Sasaki 31f718b8bf Added handling of WM_ENABLE message. 2005-05-24 11:46:53 +00:00
James Hawkins 40c8f1bc02 Audit the List-View control. 2005-05-24 09:50:23 +00:00
James Hawkins 5e6b43e2a0 Select the item under the point (x,y) in MouseHover. 2005-05-20 19:16:23 +00:00
Dimi Paun 5631d063f4 Do not compute the hit test if we don't really need it. 2005-05-19 14:21:55 +00:00
James Hawkins b96eb4d3b0 - Store the click point in LISTVIEW_INFO.
- Move mouse tracking to MouseMove.
- Use DragDetect instead of TrackMouse.
- Remove the unused TrackMouse function.
2005-05-18 15:30:48 +00:00
Felix Nawothnig 43201e072b Resize listview column to autofit on a doubleclick on the
header-divider.
2005-05-18 09:47:30 +00:00
Francois Gouget f5c9da6860 Assorted spelling fixes. 2005-05-06 15:44:31 +00:00
Dimitrie O. Paun 2e0a14820b Add support for LVN_ODSTATECHANGED.
Minor typo fixes.
2005-04-14 13:58:25 +00:00
Robert Shearman ea84f49393 Use ES_AUTOHSCROLL for edit box. 2005-04-12 10:16:23 +00:00
Dimitrie O. Paun 8df71a6cfa Use {Alloc,ReAlloc,Free}() instead of Heap{Alloc,ReAlloc,Free}(). 2005-03-25 20:49:00 +00:00
Francois Gouget 93416cdaf7 Assorted spelling fixes. 2005-03-23 13:15:18 +00:00
Maxime Bellengé 33c7e15f77 Take into account the new size of a column when the header size
change.
2005-02-21 20:38:31 +00:00
Dmitry Timoshkov 39f960bdfa - Fix prototypes of GetClassLongA/W, GetClassLongPtrA/W and
SetClassLongA/W according to SDK definitions.
- Add prototypes for SetClassLongPtrA/W, protect some GWL_ and GCL_
  constants from using in Wine or in _WIN64 mode.
- Fix all places in Wine affected by the above changes.
2005-02-15 21:51:06 +00:00
Francois Gouget da8b3dd7f2 Assorted spelling fixes. 2005-01-26 21:09:04 +00:00
Dimitrie O. Paun 3bc9380619 Use the LVCFMT_{LEFT,RIGHT,CENTER} enumeration flags properly. 2005-01-14 16:21:41 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Ulrich Czekalla e05dcc2975 Add partial handler for WM_PRINTCLIENT. 2004-12-20 16:55:57 +00:00
Alexandre Julliard a79c534c0e Avoid using the MAKEPOINTS macro, it's broken on big endian. 2004-11-24 18:28:31 +00:00
Zach Gorman 4b5a5868f1 Add the DT_NOPREFIX flag when calling DrawText() for single-line
listview controls.
2004-11-19 18:09:29 +00:00
Robert Shearman 8d28e0314c Remove unnecessary WNDPROC casts. 2004-11-06 03:49:03 +00:00
Dimitrie O. Paun f07f08cfe6 Send notification messages in the format dictated by
infoPtr->notifyFormat.
2004-11-01 21:07:11 +00:00
Hans Leidekker 411fc5f164 Fix signed/unsigned comparison warnings. 2004-09-02 23:00:53 +00:00
Robert Shearman cdb263e588 Replace GetWindowLong by GetWindowLongPtr. 2004-08-25 17:33:01 +00:00
Mike McCormack a3a19355cd Prevent listview from crashing when a null sort function is passed to
LVM_SORTITEMS.
2004-08-12 20:01:55 +00:00
Filip Navara ab13698998 Don't update infoPtr->dwStyle in LISTVIEW_WindowProc. It's already
handled in LISTVIEW_StyleChanged and LISTVIEW_Create processing.
Ignore WS_VSCROLL/WS_HSCROLL flags in infoPtr->dwStyle because they're
not always up-to-date.
2004-08-11 20:53:32 +00:00
Mike McCormack 4f7ad78bd9 Create a tooltip on demand in the Listview. 2004-07-06 21:27:34 +00:00
Dimitrie O. Paun 4b6ed4ed84 Clear the state image bits only if LVS_EX_CHECKBOXES is set.
Fix obvious logical error in focus handling.
Indentation and formatting fixes.
(based on a patch by Krishna Murthy).
2004-06-04 17:58:29 +00:00
Ulrich Czekalla fc9be6a599 Handle case where iterator range contains 0 elements. 2004-05-11 22:16:54 +00:00
Huw Davies 69f2e04ff8 Deleting column zero should only delete the column and not the item
data.
2004-04-21 22:25:04 +00:00
Francois Gouget 52c0832161 Make Unicode strings static const. 2004-04-20 01:12:17 +00:00
Robert Shearman 3c6956d3ea Spelling fixes. 2004-03-11 00:39:53 +00:00
Dimitrie O. Paun e879638d36 LVN_BEGINRDRAG is implemented now. Fix typo. 2004-02-20 05:12:49 +00:00
Aric Stewart d240ae8d62 Implemented LISTVIEW_ApproximateViewRect for LVS_REPORT. 2004-02-20 01:05:39 +00:00
Fabian Cenedese 7142a4e0b2 ListView should behave in OWNERDRAW as in FULLROWSELECT. This allows
to select cells not in the first column in REPORT mode with OWNERDRAW
style set.
2004-02-17 22:47:51 +00:00
Aric Stewart e56178d9d5 Work toward properly updating the SelectionMark when the selected
state changed inside a listbox.
2004-02-13 22:40:37 +00:00
Jon Griffiths b56583ec1a Don't call GetWindowLong for every comparison while sorting. 2003-12-10 00:37:14 +00:00
Rein Klazes b76e883344 The LVN_GETDISPINFO notify message should point to the same iSubItem
as in the call to LISTVIEW_GetItemT, valid or not. Fix a badly placed
brace.
2003-11-18 19:38:30 +00:00
Aric Stewart 89ba8760f3 We need to make sure that customdraw_fill is called even if
CDRF_NOTIFYITEMDRAW is not being used because we used the text and
background colors from that struct later.
2003-11-18 00:04:27 +00:00
Rein Klazes 7b6b9d6e93 Ignore invalid iSubItem in LISTVIEW_GetItemT(). 2003-11-17 20:01:49 +00:00
Huw Davies 83e9fd8513 Implemented LVS_EX_CHECKBOXES. 2003-11-13 20:50:25 +00:00
Huw Davies ac24a0a692 A multicolumn listview should get a customdraw notification for the
item as well as one for subitem 0.
2003-11-12 22:41:27 +00:00
Huw Davies 818c5861c4 Add support for LVS_EX_SUBITEMIMAGES. 2003-11-11 00:26:15 +00:00
Huw Davies a7c4fa8119 ReleaseCapture on lbuttondown if the cursor is outside an item, just
like the native one does.
2003-11-09 00:27:20 +00:00
Huw Davies 4de17c3724 LISTVIEW_GetSubItemRect should succeed if subitem == 0 whatever mode
the listview is in.
2003-11-05 00:35:57 +00:00
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