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
Dimitrie O. Paun
783bab61de
Fix nasty bug generated by UINT vs. INT (resulted in bogus
...
comparisons).
Fix LVIR_SELECTBOUNDS computation, for REPORT mode.
Fix dependency generation in GetItemMeasures.
Fix rectangle computation for REPORT mode (corner case problems).
Better debug messages.
Assorted cleanups.
2002-10-07 22:43:42 +00:00
Dimitrie O. Paun
97ffbfad72
Cleaned up the rectangle handling, and fixed numerous bugs in
...
rectangle calculations.
2002-10-07 22:42:44 +00:00
Paul Rupe
1446a06ce9
Fix inaccurate listview scrolling with PgUp/Down and Home/End keys.
2002-10-07 21:44:01 +00:00
Dimitrie O. Paun
3ac601d52b
Fix silly bug in SetItemPosition (we should set it, not create a new
...
one).
2002-10-07 18:51:52 +00:00
Dimitrie O. Paun
b9cacc438a
Maintain the item position in {,SMALL}ICON mode separataly from the
...
item, so that we have it even in LVS_OWNERDATA.
2002-10-07 18:50:21 +00:00
Dimitrie O. Paun
6cfd83b985
Cleanup the SetItemPosition interface.
2002-10-07 18:48:47 +00:00
Dimitrie O. Paun
7f77992091
Remove the COUNT_OF macro.
...
Indentation fixes, and minor cleanups to notify_dispinfoT.
2002-10-07 18:44:55 +00:00
Dimitrie O. Paun
6a6310d099
Fixes bug which rendered virtual listboxes always empty.
...
Smarter focus rectangle drawing.
Fix focus handling when we add/delete a column.
Fix silly bug in GetSubItemRect.
Elimiante flicker in Report mode.
2002-10-07 18:43:49 +00:00
Dimitrie O. Paun
95f2799537
Cleanup, and clarify the handling of the various rectangles.
...
Fix handling of large items in ICON mode.
Fix calculation of LVIR_SELECTBOUNDS.
Various cleanups, and simplifications.
2002-10-07 18:42:52 +00:00
Dimitrie O. Paun
914aac36b5
Cleanup of the way we maintain/lookup the item count.
...
Rename GetItemWidth to CalculateMaxWidth.
Misc trivial changes.
2002-10-07 18:41:00 +00:00
Dimitrie O. Paun
1c7bf6229f
Fix focus handling for owner draw listviews.
2002-10-07 18:38:17 +00:00
Dimitrie O. Paun
d308a8d4fe
Fix potential bug in RemoveAllItems.
...
Fix report-mode ONWERDRAW bug (with help from Alexandre Julliard).
Fix multiple selection bug (in report and list mode).
Remove code duplication for removing selections.
2002-10-07 18:36:34 +00:00
Dimitrie O. Paun
769f6a8c0f
Reimplement GetSubItemRect, subitem setting optimizations.
2002-10-05 18:05:27 +00:00
Dimitrie O. Paun
76f397e3a1
Fix bug in OWNERDATA selection handling.
...
Fix critical performance bug in GetSelectedCount.
Fix critical performance bug in SetGroupSelection.
Fix problems for OWNERDRAW report.
Fix hidden/latent bugs in state handling.
Better debug messages.
2002-10-05 18:04:30 +00:00
Dimitrie O. Paun
f645727afe
Fix onwer-draw REPORT for broken apps.
2002-10-05 18:02:54 +00:00
Dimitrie O. Paun
d2b526ed33
Streamline the GetItem usage.
...
Fix fatal bug for ICON mode in LVS_ONWERDATA.
Documentation updates, marking places which need work.
2002-10-05 17:46:30 +00:00
Dimitrie O. Paun
86e92428fb
Fix condition so we actually store the state in virtual listviews.
...
Assorted code cleanups.
2002-10-05 17:44:51 +00:00
Dimitrie O. Paun
3547087c70
- Effective optimization in GetNextItem (speeds up Xnews).
...
- Misc cleanups.
2002-10-05 17:43:26 +00:00
Dimitrie O. Paun
a656944875
Rewrite the begin/end label edit procedures.
...
Better support of OWNERDRAW.
Cleaner, simpler code.
2002-10-05 17:42:14 +00:00
Dimitrie O. Paun
530793ff4d
Fixed large item focus handling for virtual listviews. Since at most
...
_one_ item can have the focus at any time, we can maintain one such
rectangle per list, rather than per item. This is both more efficient,
and works for LVS_OWNERDATA listviews as well.
2002-10-04 17:54:22 +00:00
Dimitrie O. Paun
c1b1a296ff
Do not blindly trust GetItem to succeed -- check the return value, and
...
fail gracefully.
2002-10-04 17:51:42 +00:00
Dimitrie O. Paun
45387e3a6c
Do not send uninitialized data in notification to application.
2002-10-04 17:49:29 +00:00
Dimitrie O. Paun
dd0c4c16ae
- Fix nasty bug in REPORT mode, when calculating the label rect.
...
- Lots of cleanups, and simplifications.
2002-10-04 00:25:55 +00:00
Dimitrie O. Paun
df6bcfbe57
- Reorganize DrawItem.
...
- Unify text attribute selection between Draw{Sub,}Item.
- Usual cleanups, and simplifications.
2002-10-02 23:53:04 +00:00
Dimitrie O. Paun
91d41c7fe3
Fancy/optimized EnsureVisible method that eliminates flicker.
...
Minor cleanups.
2002-10-02 23:45:50 +00:00
Dimitrie O. Paun
fc01fcd25a
- Fix the subitem drawing code.
...
- A lot faster drawing in report mode.
- A great deal of cleanup, and simplifications.
2002-10-02 19:59:55 +00:00
Dimitrie O. Paun
feae6c3ea4
- Fix the state icon handling.
...
- Fix handling of new image lists.
- Small cleanups.
2002-10-02 18:38:11 +00:00
Dimitrie O. Paun
25bf08267a
- Rework the {Insert,Delete}Column functions.
...
- Drawing optimizations when adding/removing columns.
- More cleanups, and simplifications.
2002-10-02 18:32:08 +00:00
Dimitrie O. Paun
e7c82c2711
- Fix LIST mode, broken by previous changes.
...
- Implement GetItemRect in terms of GetItemMeasurements.
- Improvements in debug traces.
- Many bug fixes, compelete implementation for GetItemMeasurements.
- Lots of code cleanups, simplifications.
- Documentation updates.
2002-10-01 18:06:15 +00:00
Paul Rupe
4ee2e9e989
Prevent crash when listview trace logging is on.
2002-09-30 18:52:33 +00:00
Guy Albertelli
7e1e62de1c
- Eliminate extra background fills.
...
- Eliminate bogus error messages.
2002-09-29 18:34:51 +00:00
Dimitrie O. Paun
a4f580b74b
- Cache GWL_STYLE, to avoid fetching in virtually every function.
...
- Separate GetOrigin from GetAllMeasures as it is item independent,
and rename function to reflect the change.
- Small cleanups.
2002-09-29 18:02:21 +00:00
Dimitrie O. Paun
81beb955c8
Remove item from the list, if we fail to initialize it at insert
...
time.
2002-09-27 22:47:00 +00:00
Dimitrie O. Paun
e65eb61419
- Fix crashes in debug mode.
...
- Fix some focus rectangle problems.
- Better debugging output.
- More cleanups.
2002-09-27 22:02:16 +00:00
Paul Rupe
7f32a8d176
- Initialize memory to prevent crashes when -debugmsg +listview is on.
...
- Fix various array bounds related errors.
2002-09-25 03:20:01 +00:00
Guy L. Albertelli
e2e5097648
- Localize origin, location, and rectangle computation.
...
- Support state icons in LVS_ICON style.
- Draw only items that are in the clip box.
- Draw non-selected items first then the selected ones because large
icons may overlap each other.
- Correct invalidation rectangles for items.
- Correct drawing of large icons.
- Eliminate divide by zero cases in scrolling.
- Invalidate selected items prior to setting window losing focus.
2002-09-24 18:27:21 +00:00
Dimitrie O. Paun
70c6cecef9
Remove some more superfluous ZeroMemory calls, small cleanups.
2002-09-23 20:59:42 +00:00
Dimitrie O. Paun
e3e404296e
- Fix outputting of a text pointer in debug mode (by Rein Klazes).
...
- Remove a large bunch of superfluous ZeroMemory calls.
- Fix a couple of bugs.
2002-09-23 20:55:22 +00:00
Dimitrie O. Paun
df28ddf309
- Better implementation for GetTopindex/GetOrigin/SetIconSpacing.
...
- Drawing optimizations, better scrolling.
- A few more bugs squashed without mercy.
- Many cleanups, simplifications, doc updates.
2002-09-18 18:29:28 +00:00
Dimitrie O. Paun
1edcfe1fa9
- Optimize the heck out of Report drawing.
...
- A bit of organization, for sanity's sake.
- Many simplifications, cleanups, etc.
2002-09-17 18:29:17 +00:00
Sander van Leeuwen
6b25723cf7
Listview_ProcessLetterKeys: fixed never ending loop when end index is
...
zero.
2002-09-17 01:30:13 +00:00
Dimitrie O. Paun
31aefe4036
- Reorganization and cleanup of selection code.
...
- Complete rewrite of focus handling and drawing code.
- Many bugs fixed (including a serious memory corruption).
- Many performance fixes.
- Lots of cleanups, simplifications, etc.
- Documentation updates.
2002-09-16 22:37:40 +00:00
Dimitrie O. Paun
43baa0acd8
- Grand rewrite for {Get,Set,Insert}Item & Co.
...
- Many bugs fixed.
- Callback items are better supported.
- Improvements in rendering speed.
- Change VOID to void.
- Many code cleanups, and simplifications.
- Documentation updates.
2002-09-16 19:25:41 +00:00
Guy L. Albertelli
b9df08216a
- Improve LVM_GETITEMRECT values for LVS_ICON style. Now mostly
...
correct (or at least matches native).
- Handle focused and selected large icon text better.
- Handle internal erase.
- Additional debugging code.
2002-09-13 17:41:32 +00:00
Dimitrie O. Paun
1da4ea287d
Fix a bunch of bugs related to scrolling.
2002-09-12 22:26:08 +00:00
Dimitrie O. Paun
ee3fdd8038
- Complete rewrite of scrolling code: smaller, faster, cleaner.
...
We now properly scroll the window, rather than invalidating it on
every scroll action.
- A bug or two got squashed.
- Many code cleanups, simplifications, etc.
- Some documentation updates.
2002-09-12 18:10:41 +00:00
Dimitrie O. Paun
70b2f44a47
Code cleanups and simplifications, documentation updates.
2002-09-11 00:47:09 +00:00
Dimitrie O. Paun
db6c9b0d8e
- Pass infoPtr around, instead of hwnd.
...
- Implement hot cursor.
- Update list of unimplemented messages.
- Simplify the code for editing labels.
- Start working towards more type-safe functions.
- Small code cleanups.
- Some docu updates.
2002-09-09 19:22:19 +00:00
Michael Stefaniuc
025c0b716b
Prepare dlls/{comctl32,gdi,msvideo,setupapi,shell32,twain,winmm} for
...
the conversion of HWND to a void*.
2002-09-06 19:41:17 +00:00
Guy L. Albertelli
027034e221
- Reduce the number of messages being passed to itself by using the
...
internal routines.
- Fix problem in _SetIconSpacing found by recent change.
- Add initial support for correct icon sizing.
- A few extra traces.
2002-08-29 23:58:42 +00:00
Mike McCormack
d1b24defdc
Change the icon spacing when setting the image list.
2002-08-27 19:41:56 +00:00
Aric Stewart
86198965ad
Windows expects the edit window to hang around and be valid.
2002-08-27 19:36:33 +00:00
Guy L. Albertelli
6737a5926a
- Implement LVM_SCROLL and adjust scrolling for all formats.
...
- Implement standard Comctl32 color handling.
- Eliminate bogus ERR messages for application messages.
2002-07-23 20:54:52 +00:00
Bill Medland
b99101230f
DeleteColumn should return success even for uOwnerData.
2002-07-16 01:10:26 +00:00
Guy L. Albertelli
073d09a17f
- Improve traces.
...
- Changed default column width to 128 to match native and make that
the mimimum for LVS_SMALLICON and LVS_LIST styles.
- Corrected max value for LVS_LIST style scroll info.
- Issue our own ShowScrollBar like the native with proper test.
- Correct alignment when using LVS_ICON style.
- Correct FIXMEs for unimplemented styles.
- Correct rect size computation for LVS_LIST.
- Reset scroll bars when changing styles.
- Implement WM_WINDOWPOSCHANGED.
2002-07-10 03:00:22 +00:00
Vincent Béron
e35580f4c9
Fixed some various comparisons wrt signedness.
2002-06-21 22:25:17 +00:00
Paul Rupe
21fbb40cb7
Support for LVM_SUBITEMHITTEST; check for out-of-bounds subitem index
...
in LISTVIEW_GetSubItemRect.
2002-06-10 22:47:41 +00:00
Vincent Béron
9a62491660
Removed trailing whitespace.
2002-05-31 23:06:46 +00:00
Steven Edwards
fb2a70463e
Fixed snprintf warnings.
2002-05-16 18:31:27 +00:00
Aric Stewart
5679be34d9
Do not invalidate the rect while drawing.
...
Implemented GetSubItemRect and a quick change to notifications sent
for OwnerData items.
2002-05-14 03:58:46 +00:00
Uwe Bonnes
07a308d606
LISTVIEW_GetColumnT: care for the format of the string.
...
LISTVIEW_Create: send HDM_SETUNICODEFORMAT message.
2002-04-11 17:31:45 +00:00
Duane Clark
b7d819953e
Add LVS_NOSORTHEADER support.
...
Sort column on HDN_ITEMCLICKA too.
Do not edit labels if icon was clicked.
Fix the incorrect icon width in my earlier patch.
2002-03-20 00:53:42 +00:00
Duane Clark
b6c28ff62f
Add support for report mode text justification.
2002-03-11 05:02:11 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Duane Clark
ad079d6cbb
Ask for correct number of chars in EditLblWndProcT.
2002-02-28 21:42:25 +00:00
Duane Clark
bdd77388b9
LISTVIEW_InsertColumnT can be called with a width of
...
LVSCW_AUTOSIZE_USEHEADER.
Use the correct strings when column autosizing on columns other than
column 0.
LVSCW_AUTOSIZE_USEHEADER uses both item and header strings.
2002-02-28 20:41:39 +00:00
Bill Medland
df0f236038
Centre text correctly for the selected item.
...
Draw complete background for the selected item.
Calculate the size of a large icon more correctly (including multiline
labels).
2002-02-27 01:24:39 +00:00
Gerard Patel
019ae8a22f
LVM_GetItemRect should not take text size in account for LVIR_LABEL in
...
report mode.
2002-02-25 19:00:03 +00:00