Commit Graph

803 Commits

Author SHA1 Message Date
Nikolay Sivov d57247ce39 comctl32/listview: Rework item selection with letter keys, fix some glitches. 2010-04-27 15:44:34 -05:00
Nikolay Sivov 379cf46873 comctl32/listview: Don't change Z-order of edit window while resizing edit box. 2010-04-25 19:22:18 -05:00
Nikolay Sivov 1ccbadcf23 comctl32/listview: Remove forward declaration and unused parameter from edit box creation helper. 2010-04-25 07:34:49 -05:00
Nikolay Sivov dd3fc17884 comctl32/listview: Add callback subitem on column insertion. 2010-04-22 18:11:42 +02:00
Nikolay Sivov 7d846eb19f comctl32/listview: Properly handle subitem hittesting outside of horizontal columns bounds. 2010-04-21 11:57:32 +02:00
Gerald Pfeifer aa745feddc comctl32: Remove unused scrollInfo from LISTVIEW_MouseWheel. 2010-04-20 16:22:23 +02:00
Nikolay Sivov 7371d0d2fc comctl32/listview: Exit early on LVM_CREATEDRAGIMAGE if null pointer passed for a point. 2010-04-20 16:21:37 +02:00
Mikhail Maroukhine bd6f218165 comctl32: Fix compiler warnings with flag -Wcast-qual. 2010-03-26 10:32:33 +01:00
Jeff Latimer 4f20455e4c comctl32: cchTextMax needs to be set for LVS_OWNERDATA as it uses LVN_GETDISPINFO notifications. 2010-03-15 15:13:54 +01:00
Dylan Smith a7053ecc4c comctl32/listview: Scrolling affects subitem rect. 2010-03-03 11:52:21 +01:00
Dmitry Timoshkov c1fd55d6c9 comctl32: Listview should accept both unicode and ansi notifications.
Listview receives notifications not only from built-in header control,
but also from custom or subclassed application controls, there is no
need to assert(0) on application input, printing a FIXME is the maximum
we can do on an unknown input.
2010-02-18 15:01:01 +01:00
Nikolay Sivov 057267d85e comctl32/listview: Revert item width calculation to fix performance issues. 2010-02-08 17:49:47 +01:00
Jason Edmeades 81d8135424 comctl32/listview: Issue LVM_DELETEALLITEMS from WM_DESTROY. 2010-01-14 10:22:23 -06:00
Marcin Baczyński 9e951e8d14 comctl32: Remove superfluous void* cast. 2010-01-07 17:59:57 +01:00
Nikolay Sivov 6ca7654ec7 comctl32/listview: Fix memory leak on subrange deletion. 2010-01-07 09:26:00 +01:00
Michael Stefaniuc 9dd502a332 comctl32: Remove some explicit LPARAM/WPARAM casts. 2009-12-28 12:27:14 +01:00
Nikolay Sivov c2a7535e9d comctl32/listview: Update item width every time new item is inserted.
This prevents retaining previously stored width and unexpected item
displaying collapsing with ending ellipsis.
2009-12-09 14:25:21 +01:00
Nikolay Sivov 78e7b3cf9c comctl32/listview: New hover value should be passed using LPARAM. 2009-11-30 12:56:30 +01:00
Nikolay Sivov ea058d22ba comctl32/listview: Add NM_HOVER notification. 2009-11-30 12:56:21 +01:00
Nikolay Sivov 5f191553e8 comctl32/listview: Make mouse hover work.
Event data was overwritten by TME_QUERY response.
2009-11-30 12:56:05 +01:00
Nikolay Sivov 8eb9e7ebd5 comctl32/listview: Draw LVIS_CUT items with white foreground color. 2009-11-30 12:55:50 +01:00
Nikolay Sivov 999810566b comctl32/listview: Implement LVS_EX_HEADERINALLVIEWS. 2009-11-30 12:55:43 +01:00
Nikolay Sivov dcd54f08fc comctl32/listview: Get rid of helper used once. 2009-11-30 12:55:23 +01:00
Nikolay Sivov a729e040e6 comctl32/listview: Further winproc simplification. 2009-11-30 12:55:12 +01:00
Nikolay Sivov 60f0f4e8ca comctl32/listview: Call default procedure directly from handlers if such forwarding needed. 2009-11-30 12:55:00 +01:00
Nikolay Sivov 8d43bdd2ee comctl32/listview: Remove parameter check from winproc for LVM_SETITEMPOSITION32. 2009-11-30 12:54:37 +01:00
Nikolay Sivov 62c610df3c comctl32/listview: Collapse some handlers call in winproc. 2009-11-30 12:54:01 +01:00
Nikolay Sivov fc43895f49 comctl32/listview: Default column width in LVS_LIST to better value. 2009-11-30 12:53:40 +01:00
Nikolay Sivov 850ea2a711 comctl32/listview: Add support for LVFI_SUBSTRING. 2009-11-23 10:38:13 +01:00
Nikolay Sivov b7b7b7113e comctl32/listview: Fix find using partial string logic. 2009-11-23 10:38:00 +01:00
Nikolay Sivov 90c4abe86f comctl32/listview: Add LVSIL_GROUPHEADER definition. 2009-11-23 10:37:44 +01:00
Nikolay Sivov 79c55c5dd1 comctl32/listview: Group control data members, there's no reasonable structure here. 2009-11-23 10:37:23 +01:00
Nikolay Sivov 899a53eda5 comctl32/listview: Send LVN_ENDLABELEDIT in any case, but with null text if it's the same. 2009-11-23 10:37:03 +01:00
Nikolay Sivov f5f0763827 comctl32/listview: Don't forward WM_COMMAND (EN_KILLFOCUS) from Edit to parent window. 2009-11-23 10:36:51 +01:00
Nikolay Sivov c39268967d comctl32/listview: Do nothing on LVM_CANCELEDITLABEL if there's no label. 2009-11-23 10:36:41 +01:00
Nikolay Sivov b0861921b2 comctl32/listview: Compare item text on insert depending on A/W message. 2009-11-19 14:24:31 +01:00
Owen Rudge e1f3edef3e comctl32: Add support for scrolling during marquee selection. 2009-11-04 13:07:57 +01:00
Owen Rudge c1877a2d50 comctl32: Cancel marquee selection if we lose focus in listview. 2009-11-04 13:07:57 +01:00
Owen Rudge 038e36aded comctl32: Move marquee logic into separate function. 2009-11-04 13:07:57 +01:00
Owen Rudge 14991b78d8 comctl32: Add absolute version of iterator_frameditems. 2009-11-04 13:07:57 +01:00
Nikolay Sivov a061d3a0d4 comctl32: Fix imagelist leak when switching LVS_EX_CHECKBOXES style. 2009-10-22 14:37:13 +02:00
Nikolay Sivov cd7cfd7451 comctl32/listview: Free ID array when removing all items. 2009-10-22 14:37:02 +02:00
Nikolay Sivov 7301ec8aa8 comctl32/listview: Free column data on control destruction. 2009-10-22 14:36:56 +02:00
Nikolay Sivov aaec03347d comctl32/listview: Don't query header if it isn't created. 2009-10-22 14:36:47 +02:00
Owen Rudge 36e9153f38 comctl32: Ensure listview control has focus when marquee dragging. 2009-10-20 14:27:17 +02:00
Owen Rudge 685fe55f97 comctl32: Only execute hit test in MouseMove if necessary. 2009-10-19 11:34:45 +02:00
Nikolay Sivov f37130c83b comctl32: Use user32 control names from public header constants instead of defining over and over again. 2009-10-08 12:11:47 +02:00
Aric Stewart 8e8c5130f7 comctl32: Implement LISTVIEW_ApproximateViewRect for icon. 2009-10-07 12:22:16 +02:00
Owen Rudge 2a869d039a comctl32: Ensure coordinates are valid during listview marquee selection. 2009-10-06 11:54:45 +02:00
Owen Rudge b63c1cb219 comctl32: Capture the mouse when performing a listview marquee selection. 2009-10-05 13:22:40 +02:00
Owen Rudge 69b76a18fb comctl32: Implement highlighting (marquee) selection support in listview. 2009-10-01 13:51:20 +02:00
Nikolay Sivov 52add2a308 comctl32/listview: Add partial support for cxMin width field. 2009-09-08 13:43:20 +02:00
Nikolay Sivov ecda6af39f comctl32/listview: Handle LVCFMT_FIXED_WIDTH flag. 2009-09-08 13:42:45 +02:00
Nikolay Sivov 5e1f5ebf6c comctl32/listview: Implement LVS_EX_TRANSPARENTBKGND style. 2009-09-08 13:42:24 +02:00
Nikolay Sivov 7420c0d0de comctl32/listview: Call default handler for WM_PAINT disabled by WM_SETREDRAW. 2009-09-01 12:44:03 +02:00
Nikolay Sivov e8846b7c78 comctl32/listview: Block redrawing entirely after WM_SETREDRAW wParam=FALSE. 2009-08-13 11:44:43 +02:00
Nikolay Sivov a6694761fa comctl32/listview: Fix comment typo. 2009-08-06 17:26:33 +02:00
Nikolay Sivov c96900b904 comctl32/listview: Enable column reordering. 2009-08-04 13:03:27 +02:00
Nikolay Sivov 8c6d91052d comctl32/listview: Fix visibility computation in details view. 2009-08-04 13:03:18 +02:00
Nikolay Sivov 9576fb1836 comctl32/listview: Introduce a way to update cached column rectangles from Header. 2009-08-04 12:51:40 +02:00
Nikolay Sivov 6f723508e5 comctl32/listview: Respect column order while scrolling columns. 2009-08-04 12:51:33 +02:00
Nikolay Sivov ebdf2fd254 comctl32/listview: Offset every but LVIR_BOUNDS rectangles to column bound in details view. 2009-08-03 15:04:01 +02:00
Nikolay Sivov 021410cf0e comctl32/listview: Don't offset to column bound calculating LVIR_LABEL for items. 2009-08-03 15:03:51 +02:00
Nikolay Sivov 59e59c6bf9 comctl32/listview: Don't alter selection mark in LVM_SETITEMSTATE. 2009-07-24 11:10:43 +02:00
Nikolay Sivov 092263f051 comctl32/listview: Set LVIS_FOCUSED for all items with LVM_SETITEMSTATE not allowed. 2009-07-24 11:10:38 +02:00
Nikolay Sivov 440218cfde comctl32/listview: Handle NULL lParam in LVM_SETITEMSTATE. 2009-07-24 11:10:32 +02:00
Nikolay Sivov 6c0c08af02 comctl32/listview: Fix selection and focus rectangles on reordered list (report mode). 2009-07-09 11:25:38 +02:00
Nikolay Sivov 2f989163bd comctl32/listview: Fix hittest flag calculation for negative Y values on report mode. 2009-07-07 11:11:32 +02:00
Nikolay Sivov 86e4d1cdbe comctl32/listview: Fix hittesting for "small" positive Y coordinates. 2009-07-07 11:11:27 +02:00
Nikolay Sivov 216ca479f2 comctl32/listview: Fix select rectangle calculation for empty text items. 2009-07-02 12:00:20 +02:00
Nikolay Sivov 84f14a3716 comctl32/listview: Improve hittesting a bit. 2009-07-01 13:15:37 +02:00
Nikolay Sivov 2551ea0568 comctl32/listview: Initialize string pointers on notification conversion routine. 2009-06-24 11:38:31 +02:00
Francois Gouget dee97f4560 comctl32: Make MapIdSearchCompare() static. 2009-06-24 11:24:46 +02:00
Nikolay Sivov ad7f0b950b comctl32/listview: Invalidate list after WM_MEASUREITEM notification. 2009-06-23 11:47:13 +02:00
Nikolay Sivov 8e18e9e6bd comctl32/listview: Notify parent with WM_MEASUREITEM on control creation. 2009-06-23 11:46:21 +02:00
Nikolay Sivov 85224d7f17 comctl32/listview: Implement LVM_MAPIDTOINDEX/LVM_MAPINDEXTOID. 2009-06-22 12:59:50 +02:00
Nikolay Sivov 76cb9c0d77 comctl32/listview: Implement LVM_ISITEMVISIBLE. 2009-06-22 12:59:35 +02:00
Nikolay Sivov 9c565342d0 comctl32/listview: Implement LVM_CANCELEDITLABEL with tests. 2009-06-22 12:59:28 +02:00
Nikolay Sivov 34b802caf0 comctl32/listview: Convert forwarded header notifications to ANSI if NFR_ANSI is current format. 2009-06-16 13:27:12 +02:00
Nikolay Sivov b4b186d7b7 comctl32/listview: Forward HDN_DIVIDERDBLCLICK to parent. 2009-06-16 13:26:54 +02:00
Nikolay Sivov 736d8ff023 comctl32/listview: Block header items drag if LVS_EX_HEADERDRAGDROP isn't set. 2009-06-16 13:26:49 +02:00
Nikolay Sivov 7f936a0a6e comctl32/listview: Setting item text to callback stub value already having it raises item-change notifications.
Use same new text comparison rules for both items and subitems.
Based on patch by Stefan Stranz.
2009-06-15 13:42:30 +02:00
Nikolay Sivov 47bc142dad comctl32/listview: Get rid of Header_* macros. 2009-06-15 13:42:30 +02:00
Nikolay Sivov caa91dcbc7 comctl32/listview: Don't offset subitems on painting. 2009-06-15 13:42:30 +02:00
Nikolay Sivov 89f0bdff6e comctl32/listview: Fix some hittest problems on LVS_EX_FULLROWSELECT. 2009-06-15 13:42:30 +02:00
Nikolay Sivov 8372d1832d comctl32/listview: Don't offset item box to item position on LVS_EX_FULLROWSELECT if item isn't in leftmost column. 2009-06-15 13:42:30 +02:00
Nikolay Sivov f2f444a230 comctl32/listview: Don't use special value (1) for item width to represent both zero and one pixel width. 2009-06-11 11:53:54 +02:00
Nikolay Sivov a5c970dea9 comctl32/listview: Make item width calculation not rely on column order for LV_VIEW_DETAILS. 2009-06-11 11:53:54 +02:00
Nikolay Sivov abe5dee0bb comctl32/listview: Implement callback functionality for item indentation. 2009-06-10 11:48:10 +02:00
Nikolay Sivov 0bca442f25 comctl32/listview: Remove outdated todo entries. 2009-06-09 17:01:14 +02:00
Nikolay Sivov 839b31fcce comctl32/listview: Revert column scrolling recent change, it should be handled differently. 2009-06-08 14:30:15 +02:00
Nikolay Sivov e636998890 comctl32/listview: Use LV_VIEW_* constants instead of style. 2009-06-08 14:30:07 +02:00
Nikolay Sivov ed250886cc comctl32/listview: Defaulting to NFR_ANSI on query failure. 2009-06-08 14:30:02 +02:00
Nikolay Sivov ae0d363043 comctl32/listview: Position edit box after notification. 2009-06-08 14:29:55 +02:00
Nikolay Sivov c111500458 comctl32/listview: Edit box should be destroyed on invalid index too (LVM_EDITLABEL). 2009-06-08 14:29:24 +02:00
Andrew Talbot f5d8fa6613 comctl32: Constify some variables. 2009-06-08 12:41:54 +02:00
Nikolay Sivov 475dcb81f5 comctl32/listview: Improve column scrolling. 2009-06-05 15:19:57 +02:00
Nikolay Sivov d5319303f1 comctl32/listview: Partially revert commit 43d982fde6. 2009-06-05 15:19:57 +02:00
Nikolay Sivov 39398aedc7 comctl32/listview: Improve grid drawing on LVS_EX_GRIDLINES style. 2009-06-04 12:17:23 +02:00
Nikolay Sivov f8904e156f comctl32/listview: Improve item visibility calculation for report view. 2009-06-04 12:17:17 +02:00
Nikolay Sivov 3e4ba3048a comctl32/listview: Some tests for LVS_SORT[A,DE]SCENDING, remove these styles from TODOs. 2009-06-04 12:17:12 +02:00
Nikolay Sivov 6a3ac63c6b comctl32/listview: Implement LVM_SETVIEW. 2009-06-03 15:34:32 +02:00
Nikolay Sivov d5f9f27c37 comctl32/listview: Implement LVM_GETVIEW. 2009-06-03 15:34:31 +02:00
Nikolay Sivov b13cd52b04 comctl32/listview: Handle EN_KILLFOCUS in WM_COMMAND message handler. 2009-06-03 15:34:31 +02:00
Nikolay Sivov 43d982fde6 comctl32/listview: Block LVM_EDITLABEL when control is unfocused and no label created. 2009-06-02 11:57:21 +02:00
Nikolay Sivov 551bb4784a comctl32/listview: Fix item bounds calculation for LVS_REPORT style. 2009-06-01 16:16:04 +02:00
Nikolay Sivov 8cf54c5645 comctl32/listview: Item horizontal position isn't applied for any item bounds on LVS_REPORT. 2009-06-01 16:16:04 +02:00
Nikolay Sivov 3cd15e5db5 comctl32/listview: Don't offset subitem rectangles with item padding returned by LVM_GETSUBITEMRECT. 2009-05-29 13:24:42 +02:00
Nikolay Sivov dd24e5de8c comctl32/listview: Fix regression on LVIR_BOUNDS request - y offset still needed. 2009-05-29 13:24:30 +02:00
Nikolay Sivov 4b73240ae4 comctl32/listview: Use NMITEMACTIVATE instead of NMLISTVIEW for NM_*CLICK notifications. 2009-05-29 13:24:22 +02:00
Nikolay Sivov 4d2883c189 comctl32/listview: Move item position calculation out of subitem loop. 2009-05-27 11:11:21 +02:00
Nikolay Sivov 1a84ca42b2 comctl32/listview: LVM_GETITEMRECT: don't offset to item position on LVS_REPORT querying LVIR_BOUNDS. 2009-05-27 11:11:13 +02:00
Nikolay Sivov 2a32ce744c comctl32/listview: Improve item position calculating in LVS_REPORT. 2009-05-26 13:49:31 +02:00
Nikolay Sivov 6b63fce757 comctl32/listview: LVM_GETVIEWRECT is unsupported on LVS_REPORT style. 2009-05-26 13:49:17 +02:00
André Hentschel 6c915fb336 comctl32: Add ListView_SetCheckState and ListView_GetCheckState. 2009-05-25 14:23:01 +02:00
Nikolay Sivov 0920079b69 comctl32/listview: Don't hittest when it's not needed. 2009-05-25 11:38:36 +02:00
Nikolay Sivov 28bffafdf6 comctl32/listview: Simplify key selection handler a bit. 2009-05-25 11:38:32 +02:00
Nikolay Sivov 4527d02a44 comctl32/listview: Reuse cached control style. 2009-05-25 11:38:27 +02:00
Nikolay Sivov 1ce2797c2f comctl32/listview: Remove duplicated expression. 2009-05-25 11:38:22 +02:00
Nikolay Sivov ce12717c9e comctl32/listview: Fix returning LVHT_ONITEMSTATEICON flag on hittesting. 2009-05-25 11:37:15 +02:00
Nikolay Sivov c46a5141da comctl32/listview: Draw focus rectangle only when visible. 2009-05-25 11:37:09 +02:00
Nikolay Sivov 1394c6eee3 comctl32/listview: Update focus rectangle properly. 2009-05-21 16:30:38 +02:00
Nikolay Sivov c198338263 comctl32/listview: Don't use uninitialized value. 2009-05-21 16:17:51 +02:00
Nikolay Sivov 8f334205f9 comctl32/listview: Fix hittesting for LVS_REPORT subitems. 2009-05-20 14:57:35 +02:00
Nikolay Sivov d769368f66 comctl32/listview: Handle mouse selections more accurately. 2009-05-19 15:42:11 +02:00
Nikolay Sivov a1cac2c314 comctl32/listview: Don't check for state changes we are not aware to store (with some tests). 2009-05-13 12:03:56 +02:00
Nikolay Sivov b4e7e257e0 comctl32/header: Make Header_* macros match PSDK. 2009-05-12 11:21:25 +02:00
Nikolay Sivov e847d7c038 comctl32/listview: Don't redraw focus rectangle on column scroll. 2009-05-11 14:51:53 +02:00
Nikolay Sivov 4a5e23a2f9 comctl32/listview: Select all items with LVM_SETITEMSTATE is blocked in LVS_SINGLESEL. 2009-05-11 14:51:43 +02:00
Nikolay Sivov 472b521606 comctl32/listview: Remove superfluous forward declarations. 2009-05-11 14:51:35 +02:00
Nikolay Sivov 4bc8e87ab6 comctl32/listview: Add tests for LVS_NOSORTHEADER switchover. 2009-05-07 14:44:22 +02:00
Nikolay Sivov 5123ffc36b comctl32/listview: Remove irrelevant fixme comment. 2009-05-07 14:44:22 +02:00
Nikolay Sivov e7537418d9 comctl32/listview: Use handlers instead of sending messages to oneself. 2009-05-05 11:51:05 +02:00
Nikolay Sivov 50c3b530f7 comctl32/listview: Forward WM_ERASEBKGND to parent on CLR_NONE. 2009-05-04 13:23:31 +02:00
Nikolay Sivov 2829c5fd1e comctl32/listview: Fix LVM_INSERTITEM handling on LVS_SORTxxx styles. 2009-05-04 13:23:03 +02:00
Francois Gouget 8a46d0eaf5 Assorted spelling fixes. 2009-05-04 12:53:29 +02:00
Nikolay Sivov 3d7eb3d414 comctl32/listview: Fix wrong function description. 2009-05-01 16:19:45 +02:00
Nikolay Sivov ebeabf11d3 comctl32/listview: Remove wrong TODO entry. 2009-05-01 14:34:00 +02:00
Nikolay Sivov 8a03ac58c5 comctl32/listview: Check columns array size before trying to obtain rectangle. 2009-04-30 17:19:56 +02:00
Nikolay Sivov 146209381b comctl32/listview: Don't draw wrapped focus rectangle. 2009-04-30 12:47:30 +02:00
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