Commit Graph

183 Commits

Author SHA1 Message Date
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