Commit Graph

863 Commits

Author SHA1 Message Date
Nikolay Sivov cd8b91f1bb comctl32/listview: Handle LVIF_NORECOMPUTE in LVM_GETITEM[A,W]. 2009-04-29 14:23:42 +02:00
Nikolay Sivov bbd00da488 comctl32/listview: Handle CCM_[G,S]ETVERSION in listview. 2009-04-29 14:23:17 +02:00
Nikolay Sivov 82744c93e0 comctl32/listview: Fix resizing grid drawing at right from rightmost column. 2009-04-27 13:47:48 +02:00
Nikolay Sivov d1d7dfab64 comctl32/listview: Fix horizontal grid line drawing. 2009-04-27 13:47:41 +02:00
Nikolay Sivov 2796763ee3 comctl32/listview: Draw rightmost vertical grid line when needed. 2009-04-27 13:47:35 +02:00
Nikolay Sivov 3f0824bdf4 comctl32/listview: Remove duplicated iterator initializer. 2009-04-27 13:47:25 +02:00
Nikolay Sivov bf61677998 comctl32/listview: Reuse existing variable instead of duplicated expression. 2009-04-27 13:47:18 +02:00
Nikolay Sivov 8b26cce8f8 comctl32/listview: Fix LVM_GETCOLUMNORDERARRAY passing message to header. 2009-04-24 15:50:39 +02:00
Nikolay Sivov 457c983ee3 comctl32/listview: Partial fix for LVM_GETSUBITEMRECT for item == -1. 2009-04-22 13:14:48 +02:00
Peter Schauer 56720276e8 comctl32/listview: Fix warning from DPA_GetPtr. 2009-04-21 16:24:36 +02:00
Nikolay Sivov 9cc12d2879 comctl32/listview: Header should be created when LVS_EX_HEADERDRAGDROP set. 2009-04-21 15:31:00 +02:00
Nikolay Sivov ac8257cb1e comctl32/listview: Add a TRACE(..) to LISTVIEW_CreateHeader. 2009-04-21 15:30:55 +02:00
Nikolay Sivov 949e9043b9 comctl32/listview: LVM_SETITEM is unsupported on LVS_OWNERDATA. 2009-04-21 15:30:47 +02:00
Nikolay Sivov 3ce8e20896 comctl32/listview: Some tests for LVS_SINGLESEL switchover. 2009-04-20 15:25:03 +02:00
Nikolay Sivov 0588ba7fef comctl32/listview: Fix a regression caused by 9c1a0e468f. 2009-04-20 15:24:58 +02:00
Nikolay Sivov 42bef95cbc comctl32/listview: Switching to/from LVS_OWNERDATA isn't allowed after creation. 2009-04-20 15:24:48 +02:00
Nikolay Sivov 10a936150b comctl32/listview: Slightly enlarge rectangle when drawing checkbox. 2009-04-20 15:24:41 +02:00
Nikolay Sivov ffb214a66b comctl32/listview: Add a ListView_GetTextBkColor macro. 2009-04-20 15:24:35 +02:00
Nikolay Sivov b2486d41c7 comctl32/listview: Implemented LVM_SORTITEMSEX. 2009-04-15 16:19:01 -05:00
Nikolay Sivov 961f175cc2 comctl32/listview: Fix some comment typos. 2009-04-15 16:18:36 -05:00
Nikolay Sivov e014484a43 comctl32/listview: Fix a regression caused by 59148d0bb5. 2009-04-14 14:49:43 -05:00
Nikolay Sivov 9c1a0e468f comctl32/listview: Fix selection handling in LVM_SORTITEMS (with some tests). 2009-04-14 14:49:22 -05:00
Nikolay Sivov 13dfb9b3a6 comctl32/listview: State mask should be ignored on LVM_INSERTITEM. 2009-04-10 10:23:44 +02:00
Nikolay Sivov 59148d0bb5 comctl32/listview: Implement delayed header creation for ListView control. 2009-04-08 11:39:25 +02:00
Marcus Meissner e28c28b461 comctl32: Avoid potential overflow in Search Param (Coverity 903). 2009-04-06 11:16:05 +02:00
Nikolay Sivov b7f0dd64da comctl32: LVN_ITEMCHANGED notification should be sent for each item when group selected for ~LVS_OWNERDATA. 2009-03-13 11:28:31 +01:00
Nikolay Sivov 24dc6600fc comctl32: Fix item selection with VK_SPACE when Ctrl is pressed. 2009-03-11 13:03:31 +01:00
Igor Tarasov b3b7ecb390 comctl32: Make listview forward HDN_ITEMCLICK. 2009-02-19 16:17:18 +01:00
Igor Tarasov d86a5a611d comctl32: Do not send LVN_DELETEITEM on LVM_DELETEALLITEMS for virtual listviews. 2009-02-19 16:17:18 +01:00
Igor Tarasov e02d80b775 comctl32: Implement LVN_ODFINDITEM. 2009-02-19 16:17:18 +01:00
Igor Tarasov 73b490b57d comctl32: Make LISTVIEW_ProcessLetterKeys accept Unicode characters. 2009-02-19 16:17:18 +01:00
Michael Stefaniuc da6d7920de comctl32: Remove superfluous pointer casts. 2009-02-13 13:00:25 +01:00
Michael Stefaniuc c46a88a3c9 comctl32: Remove superfluous casts that crept in as well as some older ones. 2008-11-07 11:00:16 +01:00
Aric Stewart e46a875996 comctl32: Add implementation of LVS_EX_ONECLICKACTIVATE. 2008-11-05 10:55:05 +01:00
Michael Stefaniuc d4b8948ce3 comctl32: Do not cast NULL. 2008-11-03 13:41:58 +01:00
Lei Zhang 2881b171df comctl32: Reset nEditLabelItem in LISTVIEW_EndEditLabelT. 2008-10-29 13:29:33 +01:00
Lei Zhang 10d3ea30b7 comctl32: Don't notify if listview edit box contents have not changed. 2008-10-29 13:29:33 +01:00
Lei Zhang 9b057494d0 comctl32: Get rid of DragDetect. 2008-10-29 13:29:33 +01:00
Michael Stefaniuc 1659313142 comctl32: DPA_GetPtr() returns a LPVOID so don't cast its return value. 2008-10-24 14:24:59 +02:00
Lei Zhang 60d97040f8 comctl32: Avoid a divide by zero in listview. 2008-09-30 10:56:55 -05:00
Andrew Talbot 183f92b22a comctl32: Sign-compare warnings fix. 2008-09-15 11:47:45 +02:00
Lei Zhang fc2404bc20 comctl32: Handle listview dragging better. 2008-09-11 12:33:01 +02:00
Lei Zhang 5f9b0db217 comctl32: listview: Prevent DragDetect from removing WM_LBUTTONUP messages. 2008-09-11 12:32:53 +02:00
Nicolas Le Cam 22e69c0ee4 comctl32: Implement LVM_GETUNICODEFORMAT. 2008-09-04 11:51:40 +02:00
Lei Zhang 098dc7b330 comctl32: Set listview focus on WM_LBUTTONUP instead of WM_LBUTTONDOWN. 2008-08-21 14:11:58 +02:00
Mikołaj Zalewski 60a1e20ba8 comctl32: Don't print ERRs for reflected messages. 2008-07-22 13:25:08 +02:00
Guy Albertelli 6de3764339 comctl32: listview: Implement LVS_NOCOLUMNHEADER support for WM_STYLECHANGED message.
When switching LVS_NOCOLUMNHEADER on/off change the style of the header control HDS_HIDDEN.
2008-06-25 20:28:02 +02:00
Guy Albertelli ff9bb5aec3 comctl32: listview: Show the header when updating header size if not LVS_NOCOLUMNHEADER. 2008-06-25 20:27:50 +02:00
Guy Albertelli 4b34260a73 comctl32: listview: Change header control create act like native for LVS_NOCOLUMNHEAD.
The native control issues the CreateWindowEx call with the HDS_HIDDEN
as part of the style and not by issuing the SetWindowLong call.
2008-06-25 20:26:00 +02:00
Lei Zhang 4700b0bd87 comctl32: Support LVCF_SUBITEM in LVM_GETCOLUMN. 2008-06-21 11:36:56 +02:00
Lei Zhang 59e3490cad comctl32: Don't rearrange icons / update scroll bar when destroying a listview. 2008-06-18 16:03:20 +02:00
Andrew Talbot 3c5308b804 comctl32: Indentation fix. 2008-05-23 11:58:18 +02:00
Alexandre Julliard 5315da8445 comctl32: Fix extending a multiple listview selection. 2008-05-21 14:26:35 +02:00
Guy Albertelli 09cb415109 listview: Return correct value from WM_NOTIFYFORMAT with test. 2008-05-08 11:11:03 +02:00
Francois Gouget 633ee950a1 Assorted spelling fixes. 2008-05-07 12:07:11 +02:00
Guy Albertelli 7fb21244d9 listview: Correct return value from LVM_GETORIGIN including tests for this.
Tests to validate return value of the LVM_GETORIGIN message and fix our
implementation.
2008-04-28 14:22:39 +02:00
Guy Albertelli e85fa81f3c listview: Implement 2 pixel decoration at top of report style with grid lines.
The native control has a 2 pixel header. This implements that background pixel
line and the gridline below it.
2008-04-28 14:22:35 +02:00
Guy Albertelli 7326f091b0 listview: Implement LVS_EX_GRIDLINES functionality.
Implement basic LVS_EX_GRIDLINES functionality including support for no items.
2008-04-28 14:22:16 +02:00
Andrew Talbot bab7871cac comctl32: Remove unused variables. 2008-04-14 12:09:13 +02:00
Lei Zhang 03f18eb425 comctl32: Fix listview redraw when deleting items. 2008-03-20 14:27:36 +01:00
Lei Zhang 74f2f09295 comctl32: Correct listview hittest check to include the state rect. 2008-03-20 14:27:36 +01:00
Lei Zhang da98243ea1 comctl32: Redraw listview after changing extended styles. 2008-03-20 14:27:35 +01:00
Lei Zhang fe966335fd comctl32: Implement listview checkbox toggle. 2008-03-20 14:27:35 +01:00
Rob Shearman 7f33e95ca7 comctl32: Rename the dwStyle and dwOldStyle variables in LISTVIEW_SetExtendedListViewStyle to more accurately reflect their purpose.
This also fixes local variable shadowing in the function, which should 
be avoided for purposes of code readability.
2008-02-25 12:02:18 +01:00
Alexandre Julliard 543909958f comctl32: Remove unnecessary \n in trace. 2008-02-17 20:26:13 +01:00
Bang Jun-young c5083961b3 comctl32: Fix invalid syntax. 2008-02-07 11:59:53 +01:00
Austin English c2a7914d1c comctl32: Spelling fixes. 2008-01-24 11:43:02 +01:00
Francois Gouget 44b52b128c Assorted spelling fixes. 2008-01-16 12:48:29 +01:00
Andrew Talbot 867f254bec comctl32: Remove unneeded casts. 2007-12-31 17:40:45 +01:00
Thomas Weidenmueller 23dd46413c comctl32: Fix painting bug in listview control. 2007-12-11 17:48:53 +01:00
Alexandre Julliard b406e9a7b4 comctl32: Fix a compiler warning. 2007-12-07 18:43:05 +01:00
Detlef Riekenberg 2b8f8d16bd comctl32: Fix a typo in a debug message. 2007-11-14 11:51:13 +01:00
Francois Gouget c4b1195c0c Assorted spelling fixes. 2007-10-23 18:20:27 +02:00
Alexandre Julliard 16080ccd48 comctl32: Fix a discard const warning. 2007-10-17 14:15:13 +02:00
Jason Edmeades f6631265f3 comctl32: Listview fails to add a column if mask=0. 2007-08-17 12:01:37 +02:00
Markus Goemmel 4b8d442477 comctl32/listview.c: Ownerdraw font problem during focus change fixed. 2007-06-06 20:34:19 +02:00
Mikołaj Zalewski a1b55be693 comctl32: listview: Make LVM_GETCOLUMNWIDTH query the header control instead of using cached data. 2007-06-04 13:16:36 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Francois Gouget 0acb5810bf Assorted spelling fixes. 2007-05-15 18:09:16 +02:00
Felix Nawothnig a4d3e46e65 comctl32: Fix item rect calculation. 2007-04-06 12:31:05 +02:00
Andrew Talbot 3017a48e48 comctl32: Cast-qual warnings fix. 2007-03-30 10:55:19 +02:00
Andrew Talbot b07d7ce729 comctl32: Constify some variables. 2007-03-29 21:07:58 +02:00
Mikołaj Zalewski 88bdc3af95 comctl32: listview: Compute the state icon rect in GetItemMetrics. 2007-03-13 21:27:44 +01:00
Felix Nawothnig 79d4dfb601 comctl32: Implement LVS_EX_DOUBLEBUFFER. 2007-03-12 12:08:19 +01:00
Felix Nawothnig 7b99592975 comctl32: Fix my last patch.
My last patch was wrong and caused some nasty regressions. Mapping 
CLR_DEFAULT to the global defaults seem to be what native does.
2007-03-12 12:03:25 +01:00
Felix Nawothnig 08670ee725 comctl32: Remove clrTextBkDefault member from LISTVIEW_INFO and fix (clrTextBk == CLR_DEFAULT) handling for custom drawing. 2007-03-09 21:18:10 +01:00
Felix Nawothnig 9badfb50cf comctl32: Update header window in listview WM_PAINT handler. 2007-02-28 21:04:15 +01:00
Mikołaj Zalewski f3ebf1c7f4 comctl32: listview: Set the style in WM_CREATE. 2007-02-26 13:58:31 +01:00
Aric Stewart aecbb11e40 comctl32: Implement LVM_SETUNICODEFORMAT. 2007-02-22 11:27:01 +01:00
Felix Nawothnig 8784d47cba comctl32: Remove redundant NULL checks before Free() calls. 2007-02-14 12:22:39 +01:00
Mikołaj Zalewski 3ea059c9d7 comctl32: listview: Create the LISTVIEW_INFO in WM_NCCREATE. 2007-02-08 13:01:18 +01:00
Rob Shearman 65f1d6a38e comctl32: Fix the computation of the select bounds item rect
and fixup the places that depended on the old behaviour.
2007-02-06 21:32:46 +01:00
Francois Gouget b0bde6b87c Assorted spelling fixes. 2007-01-18 12:56:52 +01:00
Mikołaj Zalewski 749d975a41 comctl32: listview: When shrinking the last column clear the now unused field. 2007-01-16 11:17:31 +01:00
Mikołaj Zalewski 495455c0f8 comctl32: listview: A CDRF_SKIPDEFAULT for an item should skip the whole row. 2007-01-16 11:17:21 +01:00
Duane Clark 2575c37b22 comctl32: listview: Allow LVIF_STATE flag in subitems. 2007-01-08 21:00:59 +01:00
Mike McCormack d6ea1bf120 comctl32: Check subitem is valid before calling LISTVIEW_InvalidateSubItem(). 2007-01-04 20:53:21 +01:00
Mike McCormack 2d097f7024 comctl32: Remove unnecessary casts. 2007-01-04 20:53:18 +01:00
Frank Richter 8002c49ede comctl32: listview: Fix getting user params and subitems.
When querying a listview subitem for the user param, the main item's
user param is returned. Also, when a subitem is custom-drawn, the main
item's user param is passed along.
2006-12-29 20:55:04 +01:00
Mikołaj Zalewski 1e9acccefd comctl32: listview: Update the scroll bars after resizing the last column. 2006-10-16 17:05:54 +02:00
Michael Ploujnikov 1c16d83379 comctl32: Win64 printf format warning fixes. 2006-10-14 20:17:06 +02:00
Mikołaj Zalewski 056d004b3b comctl32: listview: Don't call ScrollColumn with an out of bounds index when resizing the last column. 2006-10-12 12:53:26 +02:00
James Hawkins cd073a66a5 comctl32: Make internal functions static. 2006-10-12 11:35:05 +02:00
Francois Gouget 20eb2f9998 comctl32: Fix LVM_GETITEM/LVIF_STATE so it only returns the bits it
has been asked for, and sets all the others to zero (with conformance
test).
2006-10-03 20:18:57 +02:00
Francois Gouget 222c167969 Assorted spelling fixes. 2006-09-29 16:28:30 +02:00
Mikołaj Zalewski 9de2c506dd comctl32: listview: Don't edit labels after the first click of a double click. 2006-09-14 11:11:40 +02:00
Mikołaj Zalewski 88b0e04de7 comctl32: listview: Don't edit labels on click if the view was not focused. 2006-09-14 11:10:59 +02:00
Huw Davies f01ae8ace9 comctl32: All items should be marked as unchecked when LVS_EX_CHECKBOXES is initially set.
When a new item is added with LBS_EX_CHECKBOXES already set then that item is marked as unchecked.
2006-07-18 11:09:27 +02:00
Paul Vriens 412aa2a10d comctl32: Use struct member after check for NULL (Coverity). 2006-07-17 13:53:49 +02:00
Mikołaj Zalewski 2248217157 comctl32: listview: Recompute header size after an insertion of a column. 2006-07-05 12:56:24 +02:00
Mike McCormack f86270a022 comctl32: Arrange the listview after deleting all items so we will place icons at the top again. 2006-06-15 11:39:29 +02:00
Mike McCormack 52c204be88 comctl32: Use the listview's background colour when drawing with imagelist. 2006-06-15 11:39:29 +02:00
Mikołaj Zalewski bfe030dfed comctl32: listview: Apply the HDS_DRAGDROP header style if needed.
Apply the HDS_DRAGDROP header style if the listview has the
LVS_EX_HEADERDRAGDROP. Block the columns reordering as the listview
doesn't support them.
2006-05-26 11:57:05 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mikołaj Zalewski 117b8e7927 comctl32: listview: Recompute sizes after a column deletion. 2006-05-17 21:01:30 +02:00
Mikołaj Zalewski 700dd456e9 comctl32: listview: Store the iSubItem in header's lParam in LVM_INSERTCOLUMN. 2006-05-15 14:46:30 +02:00
Mikołaj Zalewski cb3424f642 comctl32: Scroll listview if changing scroll bounds changes the scroll pos. 2006-04-18 11:16:26 +02:00
Aric Stewart 097aec39ca comctl32: Listview notify fix.
Turn off updating for that the unselect and select and then turns it
on for the focus call, this results in 1 edit notify being sent at the
end of the operation.
2006-04-17 11:18:13 +02:00
Mikołaj Zalewski e55c44c737 comctl32: Fix listview column resize.
Draw a track line after a HDN_TRACK, resize the columns only after a
HDN_ITEMCHANGED.
Create the header with HDS_FULLDRAG.
2006-04-12 19:52:34 +02:00
Mike McCormack ecaa525a3f comctl32: Get rid of some incorrect casts. 2006-03-20 22:08:44 +01:00
Peter Åstrand c5552a694b comctl32: LISTVIEW_InsertItemT should accept iItem < 0, when using sorted lists. 2006-03-08 11:32:46 +01:00
Mike McCormack 2dfe50aa3f comctl32: Fix some gcc 4.1 warnings caused by windowsx.h macros. 2006-03-03 13:18:50 +01:00
Maarten Lankhorst 15ca9ce672 comctl32: Restore listview font on CDRF_NEWFONT. 2006-01-31 12:21:51 +01:00
Dmitry Timoshkov 6d32c42ced comctl32: Make listview use standard wine_dbg_sprintf and wine_dbgstr_xxx. 2006-01-24 11:04:32 +01:00
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
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
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 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
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
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 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