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
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
Dimitrie O. Paun
cf4670cba2
Fix braino in calculation of LVS_LIST origin.
...
Invalidate the entire window when we are invalidating the list.
2002-10-10 02:56:13 +00:00
Dimitrie O. Paun
74e43dd023
Fixed bug that caused item texts to be empty.
2002-10-08 01:55:32 +00:00