Commit Graph

519 Commits

Author SHA1 Message Date
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
Bill Medland d10c9a47b8 Implement multiline labels in the Large Item view by using DrawText
Note that this now highlights weaknesses in the label measuring code
etc. which cannot correctly handle multiline labels.
2002-02-22 21:23:02 +00:00
Ondrej Macek 13f1fb23fe Fix of ListView invalidation in LISTVIEW_SetBkColor. 2002-02-19 18:32:12 +00:00
Guy L. Albertelli 8961f1624e Correct tests involved with processing the LVIF_DI_SETITEM flag. 2002-02-12 18:42:25 +00:00
Alexandre Julliard 7904acf1bd Authors: Guy L. Albertelli <galberte@neo.lrun.com>, Aric Stewart <aric@codeweavers.com>, Dmitry Timoshkov <dmitry@codeweavers.com>
Misc fixes:
- cache text metrics for the font we're using
- improved item hit detection
- more debugging output
- implement LVM_SETICONSPACING
- lots of bugs squashed
2002-02-05 18:13:57 +00:00
Dimitrie O. Paun d15ed230a8 Complete Listview Unicodification.
Simplify the setting of (sub)item text by using common code.
2002-02-04 18:44:16 +00:00
Huw D M Davies 83ff80b295 Flip A<->W conversion in dispinfo_notifyT. 2002-02-02 17:57:00 +00:00
Gerard Patel 776cb279f2 Don't repaint header when scrolling a listview vertically. 2002-01-31 20:38:25 +00:00
Gerard Patel 815997ffe0 Fix problems with listview notification. 2002-01-29 17:51:00 +00:00
Dimitrie O. Paun 6d694d8ed6 Simplify and fix listview ellipsification of large text labels. 2002-01-29 16:50:40 +00:00
Gerard Patel 3dbbb0b297 Avoid converting nonexistent text from A->W. 2002-01-29 03:08:24 +00:00
Dimitrie O. Paun 9e99d2b763 - Make the ListView control Unicode ready.
- Support both ANSI & Unicode ListView notifications.
- Fixed a few bugs.
2002-01-18 19:05:35 +00:00
Gerard Patel a02f3de89e Rect returned by LISTVIEW_GetItemRect should be total size in report
mode.
2001-08-21 17:04:02 +00:00
Guy L. Albertelli b0327f2b40 Remember response from LVN_GETDISPINFO if user sets LVIF_DI_SETITEM. 2001-07-02 01:20:28 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
James Hatheway f3c93b805b Eliminate unitialized garbage being returned from LISTVIEW_GetItemA. 2001-04-18 17:40:04 +00:00
Francois Gouget dd30c5c282 GetItemSpacing(true): Return the default item spacing if the view is
LVS_ICON, and the current 'item size' otherwise.
2001-04-16 19:04:12 +00:00
Rein Klazes 4d7e26f9a2 Fixed scrolling of listview with a mouse wheel. 2001-04-04 18:25:46 +00:00
Francois Gouget d6f5ed273d Update nSelectionMark and nFocusedItem when inserting/deleting/sorting
items.
SortItems: If sorting less than 2 items, do nothing.
2001-03-05 22:11:17 +00:00
Francois Gouget f45d56912a In LISTVIEW_AddGroupSelection and LISTVIEW_SetGroupSelection, if no
selection mark has been set, just select the current item.
In LISTVIEW_SetGroupSelection we must also set the selection mark in
that case (and only in that case).
Removed a naughty ';' (spotted by Eric Pouech).
2001-03-04 01:04:35 +00:00
Francois Gouget 282f7270c1 Small 'typos in comments' fixes. 2001-02-28 05:31:02 +00:00
James Hatheway 7fdceb2217 Update selection after sorting (in LISTVIEW_SortItems) by making sure
selection list matches states of individual items.
2001-02-16 19:39:14 +00:00
James Hatheway a2c2a83f8e Send LVN_DELETEITEM notification first, to avoid crashes if the app
requests LVIF_PARAM with LISTVIEW_GetItem() during its LVN_DELETEITEM
message handler.
2001-02-15 21:24:43 +00:00
François Gouget 4684ab1c12 ListView_GetItemRect already sets rc.left. 2001-02-14 21:42:24 +00:00
François Gouget 1afa24aeac Fix (rewrite), and add documentation to LISTVIEW_ProcessLetterKeys.
Lowered the key repetition delay (Aric).
2001-02-12 18:07:43 +00:00
Chris Morgan d62dd82efb Fix ListView_GetItemRect() macro.
Fix use of ListView_GetItemRect() macro in listview control.
Add some documentation to LISTVIEW_GetItemRect().
2001-02-12 03:46:00 +00:00
Gerard Patel c0ca077f0b Misc fixes in LISTVIEW_SetImageList, LISTVIEW_SetItemCount,
LISTVIEW_UpdateSize.
2001-01-22 19:27:43 +00:00
Ulrich Czekalla 0255c8f0df Only adjust item rect by horizontal scrollbar offset in report view. 2001-01-17 01:48:14 +00:00
François Gouget bde6ae0c19 Test for NULL and LPSTR_TEXTCALLBACK before using lpColumn->pszText. 2001-01-09 21:50:27 +00:00
Ulrich Czekalla e5786e3be6 Adjust item rects by horizontal scrollbar offset. 2001-01-09 20:49:38 +00:00
Aric Stewart 147bc6d21b Ownerdata listviews were not clearing previously selected items when a
new item is set as selected using SetItem and the listview has
LVIS_SINGLESEL.
2000-11-29 00:00:11 +00:00
Aric Stewart b1eb301477 Implemented VK_PRIOR and VK_NEXT processing (merged from Corel tree). 2000-11-08 04:30:16 +00:00
Aric Stewart d41c9a3da4 Implemented the RedrawItems message for a listview. 2000-11-07 20:28:11 +00:00
Alexandre Julliard 908464d448 Authors: Andreas Mohr <amohr@codeweavers.com>, Dimitrie O. Paun <dimi@cs.toronto.edu>, Patrik Stridvall <ps@leissner.se>
Various warning fixes.
2000-11-01 03:11:12 +00:00
Francois Gouget 7203ee6623 Use PS_ALTERNATE rather than PS_DOT.
Use Rectangle to draw focus rectangles.
2000-10-31 02:05:11 +00:00
Aric Stewart 4de47040fd Fixed cancels editing of a listview label if the listview is
scrolled.
2000-10-31 01:35:50 +00:00
Marcus Meissner 61ef06042e Do not set the iSubItem part of the struct for LVM_HITTEST,
applications only need to pass memory space up to iItem.
2000-10-22 23:47:49 +00:00
James Hatheway af7f901c9c Fix messages sent when right-clicking in a blank (non-item) area of a
listview.
2000-10-19 22:28:06 +00:00
Chris Morgan 89d4472d46 Recalculate nItemHeight when LVS_SETIMAGELIST is called. Fixes icons
being chopped off in the file dialog window.  Align items to top and
refresh after sorting, as windows does.
2000-10-19 20:22:09 +00:00
Chris Morgan da610897e4 Implement LVM_SETITEMPOSITION32. 2000-10-17 00:30:39 +00:00
Andreas Mohr 1563abe8ec - stupid spelling fixes
- some more loadorder array work
2000-10-13 20:26:52 +00:00
Stephane Lussier 907a1e615b Subitems of listviews were not painted with the right background when:
-LVS_EX_FULLROWSELECT style is defined
-item is selected
-Listview doesn't have the focus.
2000-10-13 17:05:17 +00:00
Stephane Lussier 163830c569 - Background should not be drawn if the background color is CLR_NONE.
- Don't change the size to 0 for the header control of listview with
  LVS_NOCOLUMNHEADER style. In fact just setting HDS_HIDDEN to the
  header control is enough.
2000-10-12 23:07:41 +00:00
Aric Stewart e127a28166 Corrected some segvs that occur with ownerdata listviews. 2000-10-12 20:39:59 +00:00
Chris Morgan fca20f6553 Paint background before drawing item and subitems. Paint any area of
the control not occupied by items.  Early out of LISTVIEW_RefreshXXX
if no items exist. InvalidateRect() on LBUTTONDOWN only if the control
has items to draw.
2000-09-22 22:45:30 +00:00
Aric Stewart dc2ffbe0cd Correct some situations with listview selections. Specifically fixed
situations where in an OWNERDATA listview the selection ranges become
invalid if the number of items is changed. Additional fixes a few
problems resulting in loops in RemoveAllSelections.
2000-09-22 22:00:01 +00:00
Stephane Lussier c5e86a2c19 Notification NM_CLICK, NM_RCLICK and NM_DBLCLK sent by the listview
should set lParam to a NMLISTVIEW instead of a NMHDR. According to
MSDN doc, it is like that since version 4.71, Wine is returning 5.0 as
the DLL version.
2000-09-19 02:38:45 +00:00
Stephane Lussier 3872d0a218 Sorting items in a listview using LVW_SORTITEMS is only sorting the items
and not the subitems. This patch fix this issue. I've remove the temporary
Sortlist, it was not necessary to create another list, and it was buggy.
2000-09-18 01:39:27 +00:00
Stephane Lussier 88968b89cb Allow having a transparent background text color for the listview. 2000-09-16 20:45:09 +00:00
Chris Morgan 2a6c1e498c Hide the vertical scrollbar when listview style is LVS_LIST. 2000-09-12 23:37:19 +00:00
Aric Stewart eef99e0c93 Implemented both customdraw message sending and handling (based off
the treeview method) as well as LVS_OWNERDRAWFIXED.
2000-09-06 19:44:49 +00:00
Andreas Mohr 2b5d9c6e50 Always call LISTVIEW_SetSelection() for an item, even if that item
has been selected before, in order to let other items get erased.
2000-08-29 03:52:16 +00:00
Susan Farley 53d40899b1 Large caption icons should end in '...' when they are abbreviated. 2000-08-23 19:12:36 +00:00
Aric Stewart 59dae22a43 Beginning of some simple optimization of the listview
drawing. Specifically it reduces flicker when selection changes.
2000-08-21 20:16:53 +00:00
Niclas Karlsson MATE 0f9d56fde8 LPSTR_TEXTCALLBACK wouldn't work if the application supplied the item
text in its own buffer.
2000-08-14 17:17:57 +00:00
Aric Stewart 7db0384706 Fixed sending of LVN_ITEMCHANGING and LVN_ITEMCHANGED messages,
cleaned up some of the drawing, implemented the iIndent for LVS_REPORT
and fixed a problem where sub items where not being properly
associated with their item for virtual list views.
2000-08-11 21:14:23 +00:00
Alexandre Julliard 70c9e095ef Removed all non-standard common control headers from the include
directory.
2000-08-09 00:41:17 +00:00
Aric Stewart 773efce76b Reworked how selections are kept track of in the list view. Selections
are now listed as a sorted range of paired integers.
2000-08-08 20:46:07 +00:00
Patrik Stridvall b4c7499883 Fixed some warnings. 2000-08-04 21:08:01 +00:00
Aric Stewart 559692a5e5 - Fixed bug where InitSubItem was doing a ZeroMemory on the item.
- Cleaned up a sit of extra blue at the end of a FULLROWSELECT list view
  if there is only one column.
- Corrected a bug I introduced with an earlier patch which caused
  problems with multiple selections.
2000-08-03 00:24:09 +00:00
Matthew Lake efd796743d Fixed a segfault problem using the standard file open dialog box. 2000-08-01 23:30:25 +00:00
Aric Stewart 176cee7e1d Fixed a few bugs including one with setting extended styles and
editing labels.
Implemented the LVS_EX_FULLROWSELECT extended style.
Begin an implementation of virtual list views (LVS_OWNERDATA style
set).
2000-08-01 20:58:33 +00:00
Aric Stewart d778da2fbe Prevent the attempt to draw invalid image indexes.
Provide the two pixel buffer between the image and the label.
2000-07-25 12:26:59 +00:00
Aric Stewart 9024c107bf Handle the case where the function SetItem is called to select an item
or set its focus.
2000-07-23 14:19:42 +00:00
James Hatheway 1fb3298e7b Only use the column headers to calculate the width of a
LDS_REPORT-type listbox if it actually has column headers.
(ie. LVS_NOCOLUMNHEADER bit is not set.)
2000-07-08 12:45:21 +00:00
Chris Morgan 66331a73c0 Finished the implementation of LISTVIEW_SetColumnWidth. Tested
against windows thoroughly.  Fixed bug resulting in unsigned values
being passed into LISTVIEW_SetColumnWidth from the listview window
procedure.  Fixed LISTVIEW_GetItemHeight to disregard the height of
icons if no icons exist.
2000-06-04 01:35:16 +00:00
Jason Mawdsley 84c494bd34 Added support for typing the filename in the listview control and
having the control select it.
2000-06-03 21:04:33 +00:00
Martin Fuchs 0b5642160c Inserted a missing call to SetWindowPos(). With this change the header
control is visible again in list views with report style.
2000-05-24 03:33:05 +00:00
Aric Stewart 9a3dd5b249 If a listview is created with LVS_NOCOLUMNEHEADER then wine creates the
header like normal but just sets it not visible. This fix lays out
those supposedly nonexistent headers to size 0,0. So that even if they
become visible they are not drawn.
2000-05-23 01:24:24 +00:00
Chris Morgan 9a171b8e3e Update nItemWidth in LISTVIEW_SetItem() if LVS_LIST or LVS_SMALLICON
mode and item text is wider than the current nItemWidth.
2000-05-19 03:44:46 +00:00
Patrik Stridvall 5ca73ac93a Fixed issues found by winapi_check. 2000-05-11 21:46:51 +00:00
Gerard Patel a1b2fc2a80 Protect against use of comctl32 private control memory after it has
been freed.
2000-05-10 01:34:53 +00:00
Chris Morgan 53b152f73c Implemented ListView_SetHoverTime(), ListView_GetHoverTime(), initial
support for the LVS_EX_TRACKSELECT flag.  Added code to delete items
in LISTVIEW_SetItemCount().
2000-05-07 18:24:10 +00:00
Stephane Lussier 4bdf4af11e Implemented Mousewheel support. 2000-04-18 11:56:33 +00:00
Richard Cohen a4729b0b21 GetItem was returning the item instead of subitem info. 2000-04-09 18:38:23 +00:00
Pierre Mageau c8212371db Don't display the context menu on a double click.
Ulrich Czekalla <ulrichc@corel.ca>
Set the font on the edit label control to that used by the listview
control. It also uses text metrics to set a more reasonable initial
edit control size.

Pierre Mageau <pierre@macadamian.com>
Handle M_SETREDRAW in ListView.
Fix to EnsureVisible to handle small and large icon correctly.
Add edit label functionnality to the listview and the file open dialog.

Ulrich Czekalla <ulrichc@corel.ca>
RelaseDC in CreateEditLabel.

Pierre Mageau <pierre@macadamian.com>
Add functionnality to create new folder in the open dialog.
Add support for right click menu in common file dialog.
LISTVIEW_EndEditlabel is now handling NONLPSTR_TEXTCALLBACK listview items.

Serge Ivanov <sergei@corel.ca>
LISTVIEW_GetColumnA fix (do not copy string, pass pointers).

Luc Tourangeau <luc@macadamian.com>
Preventing a divide by zero when handling LVW_ENSUREVISIBLE message.

Don Kelly
-Implemented the sorting on insert of items into a ListView control
 with either LVS_SORTASCENDING or LVS_SORTDESCENDING set.
-(helping evil applications): sometimes not so well structured apps
 (PFPI90, in this case) will not fully initialize structs.  In the case
 of the LVM_GETITEM message the app may have only initialized the mask
 and iItem members of the struct.  Added processing of the LVIF_PARAM
 mask in the case that iSubItem was set but is invalid/uninitialized.

Pierre Mageau <pierre@macadamian.com>
Fix for handling correctly the cancelling mode of the Edit label.
Fix width calculation of the edit label.

Pascal Lessard <pascal@macadamian.com>
Implemented the behavior of sending WM_CONTEXTMENU when receiving a
WM_RBUTTONUP.

Ulrich Czekalla <ulrichc@corel.ca>
Fixed a painting problem with listview when the view changes and an
edit label is active.

Ulrich Czekalla <ulrichc@corel.ca>
Fixed a notification problem with listview. On creation if the user
specifies an item with focus and/or selection we should send the
proper notification. Insert was preventing LISTVIEW_SetItem from
seeing the changes and sending the notification.

Make the draw item rectangle consistent with the selection
rectangle. This allows us to click on the folders and icons in the
file open dialog box and the item actually gets selected.
2000-02-27 14:03:06 +00:00
Alexandre Julliard d711ad9e0a Removed superfluous GlobalFindAtom calls. 2000-02-13 15:10:16 +00:00
Francois Gouget 7e5f828b12 Better support very long strings by avoiding to copy them in a fixed
size buffer (one exception partly remains: callback strings).
Raise the buffer size to 512 characters.
Merge the handling of item 0 and other items together in GetItemA to
reduce code duplication.
1999-12-25 22:57:17 +00:00
Francois Gouget 42d4f30156 Whenever we do an strncpy we should make sure we put a '\0' at the end
of the buffer.
1999-12-05 23:11:47 +00:00
Eric Kohl 2b51c94674 - implemented simple column order array functionality
- implemented some virtual listview notifications
1999-11-23 23:32:03 +00:00
Pierre Mageau 710541fa08 - Fixed an error for scrolling in Listview (sometimes a column would
not be visible) due to my last checkin.
- Fixed an error for the header control when the Listview is resized with WM_SIZE
- Fixed the scrolling for small and large icon (this broke because of
  the use of SB_PAGE in scrollInfo)
- Added a patch made by Noomen Hamza to update the item width when
  adding a new item
1999-11-07 05:25:58 +00:00
Ulrich Czekalla d11d6e2085 Set proper item focus on DeleteItem.
Clean up edit label implementation.
1999-11-04 01:42:36 +00:00
Pierre Mageau 382060dcb2 In report view mode of the listview control, implemented the
horizontal scrollbar functionality.
1999-10-31 17:35:47 +00:00
Pierre Mageau 9f295f127e Added the functionality of the thumb track. 1999-10-24 17:24:27 +00:00
Pierre Mageau 50f8e4b171 Update the item width upon a new column in the header control. 1999-10-23 23:57:42 +00:00
Ulrich Czekalla c2983025d5 Implementation of edit labels. 1999-10-23 18:53:25 +00:00
Ulrich Czekalla 690a6d4b72 Properly copy text into user supplied buffer. 1999-10-23 16:54:48 +00:00
Noomen Hamza f4ca35f61c Listview items will be drawn with the right item dimensions. 1999-10-23 14:08:00 +00:00
Juergen Schmied e340c707ba - implemented sorting the listview by clicking on the column header
- implemented the context menu entrys for sorting
- some more functions to gather data form pidls
1999-10-13 15:53:05 +00:00
Luc Tourangeau 89e6840b43 Fixed LISTVIEW_GetItemRect: the calculations were off for LVIR_BOUNDS,
LVIR_SELCTBOUNDS, LVIR_LABEL when the item width is greater than the
column width.
Fixed WM_GETDLGCODE by removing the DLGC_WANTRTAB and adding DLGC_WANTCHARS.
1999-09-10 13:56:00 +00:00
Marcus Meissner 06c4d0e3bb Implemented LVM_INSERTCOLUMNW and LVM_INSERTITEMW by using the ascii
equivalents. (WinWord 97, File Open dialog)
1999-09-03 12:29:57 +00:00
Patrik Stridvall 26ffb3cd76 Fixed/added missing/wrong function prototypes and made internal
functions static.
1999-07-31 14:41:43 +00:00
Eric Kohl f9b580701f Some more messages. 1999-07-31 13:09:40 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Alexandre Julliard b73d53c0d4 Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Fixed problems with disappearing text.
1999-06-26 10:26:46 +00:00
Eric Pouech 13a30bace7 Thou shalt not use C++ comments. 1999-06-22 19:09:55 +00:00
Alexandre Julliard 75b217712f Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Implemented LISTVIEW_SortItems() and LISTVIEW_CallBackCompare()
1999-06-13 08:49:47 +00:00
Alexandre Julliard a099a555c3 Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-06-12 15:45:58 +00:00
Luc Tourangeau a6d833a552 - Reimplemented the scrolling using SetScrollInfo and GetScrollInfo.
- Implemented LVM_FINDITEM message.
- Added some new window styles.
- Fixed some bugs and extended a number of existing functions.
- Modified selection functions to support area selection (for group
  selection in LVS_ICON and LVS_SMALLICON).
1999-05-29 11:07:11 +00:00
Alexandre Julliard 37c07bc74c Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Cleaned up LISTVIEW_KeyDown by using LISTVIEW_GetNextItem.  Removed unused
variable in LISTVIEW_GetNextItem.
1999-05-24 08:06:39 +00:00
Alexandre Julliard dead0e1da0 Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
LISTVIEW_KeyDown: Invalidate the listview window only when the
selected item changes.
1999-05-23 09:24:13 +00:00
Alexandre Julliard 05237ebfd6 Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Implemented GetNextItem for the Listview control.
1999-05-22 15:57:16 +00:00
Patrik Stridvall 896889f317 ANSI C fixes. 1999-05-08 12:50:36 +00:00
Alexandre Julliard eab73f89ec Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Fixed LISTVIEW_GetItemChanges() to perform a more complete comparison
between lpItem and lpLVItem.  Now compares the pszText string of the
lpItem and lpLVItem structs.  Fixes a bug where the old and new item
have the same attributes but their text differs and GetItemChanges()
compares them as equal.
1999-05-01 10:29:37 +00:00
Alexandre Julliard bce73ad5b2 Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Implemented SetColumnWidth for ListView control.
1999-04-25 10:56:10 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Luc Tourangeau 3025dc181b Added support for icon and smallicon views. 1999-04-01 11:55:44 +00:00
Marcus Meissner 3480e4a596 Removed no longer necessary win.h include, added now necessary other
includes (win.h used only by UPDOWN now).
1999-03-16 10:53:11 +00:00
Alexandre Julliard 114d9d18fb Fixed make depend 1999-03-13 08:54:39 +00:00
Luc Tourangeau 4d6df2cb91 Changed the listview control to add the report view and fix some bugs
for the list view.
1999-03-12 17:31:08 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Luc Tourangeau ce2b1410e2 Preliminary listview control implementation. 1999-02-17 12:58:48 +00:00
James Juran c2a1063940 Commented out unused variables to prevent needless compiler warnings. 1999-01-28 16:33:44 +00:00
Eric Kohl d68d50142f Fixed several bugs and typos. 1999-01-24 19:14:58 +00:00
Marcus Meissner 73458b03cd Changed // comments to /* */ so WINE compiles with non-gcc compilers
again.
1998-12-26 12:54:29 +00:00
Eric Kohl dc17f8de85 Added preliminary hit testing. Makes regedit.exe happy ;-) 1998-11-08 11:37:40 +00:00
Eric Kohl 9d8e864b34 Added xxx_Unregister() functions to all common controls. 1998-10-24 10:49:27 +00:00
Eric Kohl b600ac0f77 Small fixes. 1998-10-11 13:26:49 +00:00
Alexandre Julliard d30dfd24d6 Release 980927
Sun Sep 27 14:25:38 1998  Petter Reinholdtsen <pere@td.org.uit.no>

	* [files/drive.c]
	Make sure GetDriveType32A() handles param NULL.  Added some
	doc on function.

Sun Sep 27 14:07:26 1998  Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>

	* [controls/edit.c] [windows/win.c]
	Don't call SetWindowLong() in EDIT_WM_NCREATE.
	Fix SetWindowLong(GWL_[EX]STYLE) to work for 16bit windows. Remove
	UpdateWindow() call. 

Sun Sep 27 13:41:22 1998  Alexandre Julliard  <julliard@lrc.epfl.ch>

	* [scheduler/*.c] [server/event.c] [server/mutex.c]
	  [server/semaphore.c]
	Implemented server-side synchronisation objects.

Sun Sep 27 01:13:35 1998  Alex Priem <alexp@sci.kun.nl>

	* [dlls/comctl32/treeview.c] [include/treeview.h] [include/comctl.h]
	Treeview implementation.

	* [dlls/comctl32/trackbar.c] [include/trackbar.h] 
	Trackbar implementation.

Sat Sep 26 20:49:13 1998  Ulrich Weigand <weigand@informatik.uni-erlangen.de>

	* [if1632/thunk.c] [tools/build.c] [win32/kernel32.c]
	Bugfix: several problems with flat thunks fixed.

	* [memory/selector.c]
	Bugfix: IsBad...Ptr16 didn't work for limit_in_pages segments.

	* [scheduler/thread.c]
	Bugfix: CreateThread: Allow id parameter == NULL.

	* [objects/gdiobj.c]
	Bugfix: IsGDIObject: Return correct object type for stock objects.

	* [msdos/dpmi.c]
	Bugfix: fixed typo in INT_DoRealModeInt.

	* [msdos/int21.c]
	Bugfix: int21 READ *must* use WIN16_hread, not _hread16.

	* [if1632/kernel.spec] [if1632/dummy.c] [if1632/thunk.c]
	  [loader/ne/module.c] [scheduler/event.c] [scheduler/synchro.c]
	  [scheduler/thread.c] [win32/kernel32.c] [win32/ordinals.c]
	Added names/stubs for all undocumented KERNEL routines (Win95).
	Added the following undoc. 16-bit equivalents to Win32 routines:
	KERNEL.441-443,449-453,456-462,471-476,479-486,488.
	Added stubs for some other KERNEL routines.

	* [memory/heap.c] [memory/global.c] [include/global.h]
	Implemented Local32... 32-bit local heap routines (KERNEL.208-215, 229).

	* [miscemu/instr.c] [loader/module.c] [include/module.h]
	Implemented __GP fault handling and HasGPHandler (KERNEL.338).

	* [misc/error.c]
	Implemented LogParamErrorRegs (KERNEL.327).

	* [loader/task.c] [include/windows.h]
	Implemented GetCodeInfo (KERNEL.104).

	* [loader/task.c] [scheduler/thread.c] [include/thread.h]
	Implemented [GS]etThreadQueue and [GS]etFastQueue (KERNEL.463/4, 624/5).

	* [if1632/gdi.spec] [objects/dc.c] [objects/dib.c]
	  [objects/bitmap.c] [include/windows.h]
	Bugfix: fixed wrong parameter for CreateDIBSection16.
	Added [GS]etDIBColorTable16, stub for GetBoundsRect16.
	Partially implemented BITMAP_GetObject16 for DIBs.

	* [if1632/gdi.spec] [relay32/gdi32.spec] [objects/palette.c]
	Added some GDI stubs.

	* [if1632/Makefile.in] [if1632/display.spec] [if1632/mouse.spec]
	  [if1632/keyboard.spec] [if1632/builtin.c] [windows/keyboard.c]
	Added some stubs for Win16 drivers: KEYBOARD, MOUSE, DISPLAY.

	* [if1632/wprocs.spec] [msdos/vxd.c]
	Added some stubs for VxDs: VMM, ConfigMG, TimerAPI.

	* [msdos/int2f.c]
	Added some stubs for real-mode network drivers.

Sat Sep 26 18:18:18 1998  Marcus Meissner <marcus@jet.franken.de>

	* [configure.in]
	Merged in some more of the FreeBSD ports/emulators/wine patches. 
	(Maintainer(s) of this port: You can just submit these
	patches to Alexandre directly.)

	 * [loader/pe_image.c]
	Check filesize of image against size derived from header
	to spot truncated executeables without crashing.

	* [files/directory.c]
	Set envvar "COMSPEC". One win32(!!) program crashes without it.

	* [multimedia/mmio.c]
	Added mmioSetInfo32.

	* [include/file.h]
	Return STD_ERROR_HANDLE for AUX and PRT dos handles.

	* [loader/module.c]
	Handle executeables with spaces in their names a bit better in
	CreateProcess.

	* [relay32/msvfw32.spec][if1632/msvideo.spec][multimedia/msvideo.c][include/vfw.h]
	Started on MS Video support (can load Win32 ICMs).

	* [tools/testrun]
	A bit smarter use of ps.

	* [memory/virtual.c]
	Report PAGE_GUARDed pages as PAGE_PROTECTED (AutoCAD LT R17 fails
	without that check (since Win95 doesn't know about PAGE_GUARD)).

Sat Sep 26 15:04:05 1998  Ove Kaaven <ovek@arcticnet.no>

	* [include/miscemu.h] [if1632/builtin.c] [loader/task.c]
	  [miscemu/instr.c] [msdos/dpmi.c] [msdos/int21.c]
	  [msdos/interrupts.c] [windows/user.c]
	INT_[S|G]etHandler was renamed to INT_[S|G]etPMHandler.
	Added handlers to deal with real-mode interrupts; DOS
	programs are now able to hook real-mode interrupts.

	* [loader/dos/module.c] [msdos/dosmem.c] [msdos/int21.c]
	Moved real-mode interrupt table initialization to
	msdos/dosmem.c, and made new V86 tasks get a full copy
	of the existing "system memory" instead of almost empty
	space. Misc fixes.

	* [include/dosexe.h] [loader/dos/module.c] [msdos/dpmi.c]
	  [msdos/int2f.c]
	First shot at letting DOS programs start up DPMI (but DPMI
	is still disabled for DOS programs, for pkunzip's sake).

	* [include/debugger.h] [debugger/break.c] [debugger/dbg.y]
	  [debugger/registers.c] [debugger/memory.c] [debugger/info.c]
	  [loader/dos/dosvm.c]
	First shot at making Wine's debugger work for DOS programs.
	The -debug flag works, as do "nexti" and "stepi".

Sat Sep 26 13:13:13 1998  Juergen Schmied <juergen.schmied@metronet.de>

	* [dlls/shell32/dataobject.c]
	New classes IEnumFORMATETC implemented, IDataObject stubs.
	
	* [dlls/shell32/*.*][relay32/shell32.spec]
	Bugfixes.
	New: ICM_InsertItem(), ILCreateFromPath().
	Implemented: ILCloneFirst().
	Stubs: ILIsEqual(), ILFindChild(), SHLogILFromFSIL(),
	  PathMatchSpec(), PathIsExe().
	Changed: ILGetSize(), _ILIsDesktop(), PathCombine().

	* [include/shlobj.h]
	New SHLGUID's
	New structures: DVTARGETDEVICE32, STGMEDIUM32, FORMATETC32,
	CLIPFORMAT32.
	New interfaces: IEnumFORMATETC, IDataObject, ICommDlgBrowser
	IDockingWindowFrame, IServiceProvider.

	* [dlls/shell32/folders.c]
	Stubs for IShellLink.

	* [loader/resource.c]
	Small fixes.

	* [misc/crtdll.c][relay32/crtdll.spec]
	New __dllonexit().

	* [windows/message.c]
	SendNotifyMessageA, SendMessageCallBack32A half implemented.

	* [controls/edit.c]
	EDIT_WM_SetText set EF_UPDATE flag not for ES_MULTILINE.

	* [files/file.c]
	Handling of fileposition fixed.

Fri Sep 25 18:13:30 1998  Patrik Stridvall <ps@leissner.se>

	* [include/windows.h] [include/wintypes.h]
	  [ole/ole2nls.h] [relay32/kernel32.spec]
	Implemented EnumDateFormats and EnumTimeFormats.
	Only adds US English support.

	* [Makefile.in] [configure.in] 
	  [dlls/Makefile.in] [dlls/psapi/Makefile.in] 
	  [dlls/psapi/psapi_main.c] 
	New files to implement stubs for PSAPI.DLL (NT only).

	* [relay32/Makefile.in] [relay32/builtin32.c] 
	  [relay32/psapi.spec]
	New spec file for PSAPI.DLL (NT only).

	* [scheduler/handle.c]
	HANDLE_GetObjPtr should only interpret the pseudo handles as the
	current thread or the current process if a thread or a process is
	requested.

	* [include/winversion.h] [misc/version.c]
	Adds the global function VERSION_GetVersion() so functions can
	have different behavior depending on the -winver flag.

	* [include/oledlg.h] [ole/oledlg.c]
	Minor fixes. 

	* [windows/winproc.c]
	Minor changes.

	* [include/imm.h] [misc/imm.c]
	Now returns correct values under both Windows 95 and NT 4.0.

Thu Sep 24 22:11:44 1998  Kristian Nielsen  <kristian.nielsen@risoe.dk>

	* [configure.in] [include/acconfig.h] [include/thread.h]
	  [scheduler/sysdeps.c]
	Autoconfig test for non-reentrant libc.

Wed Sep 23 19:52:12 1998  Matthew Becker <mbecker@glasscity.net>

	* [*/*.c]
	Miscellaneous documentation updates and debugging output 
	standardizations.

	* [objects/clipping.c]
	Added ExtSelectClipRgn.

Wed Sep 23 00:03:28 EDT 1998  Pete Ratzlaff <pratzlaff@cfa.harvard.edu>

	* [include/windows.h] [if1632/user.spec] [relay32/user32.spec]
	  [windows/keyboard.c]
	Added, marginally implemented, GetKeyboardLayoutName().
	Only returns US English keyboard name.

Tue Sep 22 16:32:41 1998  Marcel Baur <mbaur@iiic.ethz.ch>

	* [programs/control/*]
	New Winelib application.

Mon Sep 21 00:29:18 1998  Peter Hunnisett <hunnise@nortel.ca>

	* [include/dplay.h][multimedia/dplay.c][ole/compobj.c]
	Added all DirectPlayLobby interfaces and enhanced DirectPlay
	and DirectPlayLobby support. Still not all that much. Useful
	enough if you just need to start a program, don't try any
	real dplay/lobby stuff.

	* [documentation/status/directplay]
	Added a very little bit.

	* [graphics/ddraw.c]
	- Call to SetWindowLong32A wasn't working because there was no
	  memory set aside when the window class was registered.
	- Fixed some xlib reference counting and change the behaviour
	  of DirectDrawSurface3_SetPalette to mimic observed behaviour
	  (palette is associated will all backbuffers)
	- Also stored all palette colour fields and spit back our saved
	  colour fields rather than query X for them.
	- Added plenty of AddRef and Release traces.
	- Added Xlib support for using -desktop option.
	- Fixed Xlib message handling. Messages weren't being passed to
	  the application. Fixes mouse movements in some xlib DDraw games.
	- Added a few stubs.

	* [windows/win.c][include/winerror.h]
	Fixed up some error handling in WIN_SetWindowLong. SetLastError
	wasn't being used. Could cause problems with 0 return codes.
	Added new error in winerror (1400).

	* [AUTHORS] [include/authors.h]
	Added myself as a Wine author.

Sun Sep 20 21:22:44 1998  Alexander Larsson  <alla@lysator.liu.se>

	* [loader/module.c]
	Changed GetModuleFileName32A so that is returns the
	long version of the filename. Note that just the name
	is long, not the directories.

Sat Sep 19 20:05:30 1998 Per Ångström <pang@mind.nu> 

	* [controls/menu.c]
	Made a couple of fixes to make life easier for applications that alter
	their menus at runtime.

	* [windows/defdlg.c]
	Removed the cast of the return value from dialog procedures to a 16-bit
	bool. The return value needs to retain all its 32 bits, since it is not 
	always a bool, such as when responding to the WM_NCHITTEST message.

Fri Sep 18 11:30:38 1998  Sergey Turchanov <turchanov@usa.net>

	* [loader/resource.c]
	Fixed very funny bug (though gravely affecting further excecution)
	with FindResource[Ex]32 functions.

	* [include/multimon.h] [windows/multimon.c] [relay32/user32.spec]
	  [include/windows.h] [windows/sysmetrics.c]
	Default implementation for Multimonitor API.

	* [include/windows.h] [windows/winpos.c]
	Fixed incorrect declaration (and behaviour) of GetWindowRect32.

Wed Sep 16 10:21:15 1998  Gerard Patel <G.Patel@Wanadoo.fr>

	* [controls/edit.c]
	Fixed EDIT_EM_GetLine to use correctly length of lines.

Tue Sep 15 20:40:16 1998  Eric Kohl <ekohl@abo.rhein-zeitung.de>

	* [misc/tweak.c][include/tweak.h][controls/menu.c]
	Replaced the tweak graphic routines by calls to DrawEdge32().

	* [misc/tweak.c][include/tweak.h][documentation/win95look]
	  [wine.ini][*/*]
	Changed "look and feel" selection. Allows Win3.1, Win95 and
	Win98 (no GUI code implemented) look and feel.

	* [dlls/comctl32/header.c][include/header.h][include/commctrl.h]
	Started callback item support and did some minor improvements.

	* [dlls/comctl32/imagelist.c]
	Fixed bug in transparent image display.
	ImageList_GetIcon is still buggy :-(

	* [dlls/comctl32/toolbar.c]
	Fixed button drawing (partial hack).

	* [dlls/comctl32/commctrl.c]
	Fixed MenuHelp().

	* [controls/button.c]
	Added 3d effect for groupbox.

	* [windows/msgbox.c]
	Added font support for message boxes.

	* [windows/nonclient.c]
	Fixed window moving bug.

	* [dlls/comctl32/*.c]
	Various improvements.

	* [dlls/comctl32/listview.c][dlls/comctl32/rebar.c]
	  [include/commctrl.h]
	More messages.

	* [windows/syscolor.c][include/windows.h]
	Introduced new Win98 system colors.

Tue Sep 15 18:29:45 1998 Wesley Filardo <eightknots@aol.com>

	* [files/profile.c]
	Added support in PROFILE_LoadWineIni for -config option

	* [misc/main.c] [include/options.h]
	Added -config option.

Tue Sep 15 18:22:26 1998  Petter Reinholdtsen <pere@td.org.uit.no>

	* [documentation/Makefile.in]
	Make sure directory exists before installing into it.

Tue Sep 15 01:47:33 1998  Pablo Saratxaga <pablo.sarachaga@ping.be>

	* [ole/nls/*] [ole/ole2nls.c] [include/winnls.h]
	Fixed a few errors and completed some NLS files.

Mon Sep 14 01:23:45 1998  Joseph Pranevich <knight@baltimore.wwaves.com>

	* [include/miscemu.h] [msdos/interrupts.c]
	Removed a compilation warning, added INT 25 to the list of interrupts
	callable from DOS applications, added a debug message when unsupported
	interrupts are used.

Sun Sep 13 19:55:22 1998  Lawson Whitney <lawson_whitney@juno.com>

	* [if1632/relay.c]
	CallProcEx32W should not reverse arguments.

Sun Aug 17 21:18:12 1998  Eric Pouech  <eric.pouech@lemel.fr>

	* [multimedia/midi.c] [multimedia/init.c] [multimedia/mmsys.c] 
	  [include/multimedia.h] [include/mmsystem.h] 
	  [multimedia/Makefile.in] [multimedia/midipatch.c]
	  [if1632/multimedia.spec]
	Made MIDI input and output functional on OSS capable systems.

	* [multimedia/timer.c]
	Changes to trigger callbacks at the accurate pace even when
	fake timers are used.
1998-09-27 18:28:36 +00:00
Alexandre Julliard a0d77315e4 Release 980913
Fri Sep 11 13:14:35 1998  Andreas Mohr <100.30936@germany.net>

	* [files/file.c] [include/file.h]
	Fixed SetFilePointer to allow negative positions as in DOS.

	* [graphics/ddraw.c]
	Added some methods to IDirect3D.

	* [ole/compobj.c] [if1632/compobj.spec]
	Added/implemented CoCreateStandardMalloc16,
	CoGetClassObject, CoCreateInstance,
	LookupETask, SetETask, CoGetState16.

	* [loader/task.c]
	MakeProcInstance: return 0 if func == NULL.

	* [*/*] [tools/winapi-check]
	Added zillions of missing WINAPI's and __cdecl's.
	(oops, several caused by myself)
	Wrote script for automated checking.

	* [if1632/compobj.spec]
	Many stub names.

	* [misc/ddeml.c] [ole/compobj.c]
	Some stubs.

Tue Sep  9 21:36:48 1998  Anders Carlsson <anders.carlsson@linux.nu>

	* [dlls/comctl32/Makefile.in] [dlls/comctl32/commctrl.c]
	  [dlls/comctl32/tab.c] [include/commctrl.h] [include/tab.h]
        Added preliminary tab control support.

Sat Sep  5 16:27:20 1998  Huw D M Davies <daviesh@abacus.physics.ox.ac.uk>

	* [graphics/psdrv/*]
	More changes to the PostScript driver:
	Implemented pens and solid brushes.
	Colour/greyscale for fonts, pens and brushes.
	To get coloured output you need to have *ColorDevice set to true
	in your PPD, otherwise you'll get greyscale.
	Landscape mode now works, as does non-A4 page sizes.
	Encoding of fonts to ANSI is better, Symbol works again.

	* [objects/dc.c] [include/gdi.h] [*/*]
	Moved dc->w.{text,background}Pixel to X11DRV_PDEVICE where they
	belong.

Sat Sep  5 05:12:09 1998  Ove Kaaven <ovek@arcticnet.no>

	* [include/dosexe.h] [include/miscemu.h] [include/msdos.h]
	  [loader/dos/dosvm.c] [loader/dos/module.c] [msdos/dpmi.c]
	  [msdos/int2f.c] [msdos/interrupts.c]
	Fixed portability. Adapted some code to make it easier to
	integrate the DOS subsystem with the DPMI subsystem, made
	the DPMI simulated real-mode interrupts be handled the V86
	way. Added support for .COM files. Made int2f DPMI check
	fail, to avoid pkunzip crashing in attempting to use DPMI.
	Generally moved stuff around a little.
	It is now technically possible to load several DOS programs
	into the same memory space. Not tested, though.

Fri Sep  4 21:40:45 1998  Marcus Meissner <marcus@jet.franken.de>

	* [if1632/kernel.spec]
	Changed 500-53x stubnames accordingly to nt3.51 krnl386.exe.

	* [win32/except.c]
	Fixed one bad program behaviour, (deleting SEH while in 
	first walk). RtlUnwind is broken too I think (it should unwind
	on success, not while walking the exception chain).

	* [ole/ole2nls.c]
	Get*DefaultLCID  returns 0x400|id. expected by one application.

	* [if1632/snoop.c]
	Handle non-standard SP returns more graceful.

	* [windows/class.c]
	hinstances are mostly irrelevant for win32.

	* [memory/string.c] [misc/registry.c]
	lstrcmpi32W: use toupper for characters < 0x100. (speedup hack
	for registry.c)
	Some small speedup hacks for registry.c

Thu Sep  3 20:40:16 1998  Eric Kohl <ekohl@abo.rhein-zeitung.de>

	* [Makefile.in][configure][configure.in][dlls/Makefile.in]
	  [dlls/comctl32/Makefile.in]
	Created dlls/comctl32 and moved the common controls stuff to it.

	* [misc/version.c]
	Removed COMCTL32_DllGetVersion. The fixed function is part
	of the common controls stuff.

	* [dlls/comctl32/*.c][include/commctrl.h]
	Added structure size tests.

	* [dlls/comctl32/toolbar.c]
	Fixed a bug in TOOLBAR_GetMaxWidth().

	* [dlls/comctl32/animate.c][include/animate.h]
	  [dlls/comctl32/comboex.c][include/comboex.h]
	  [dlls/comctl32/hotkey.c][include/hotkey.h]
	  [dlls/comctl32/listview.c][include/listview.h]
	  [dlls/comctl32/commctrl.c][include/commctrl.h]
	New files. Added Animation, ComboBoxEx, Hotkey and
	Listview control dummies.

	* [dlls/comctl32/tooltips.c]
	Fixed a display bug and font selection.

	* [dlls/comctl32/comctl32undoc.c][include/commctrl.h]
	Added missing DPA functions. Fixed bugs and published the
	function prototypes.

	* [documentation/common_controls]
	Updated.

Wed Sep  2 15:43:45 1998  Patrik Stridvall <ps@leissner.se>

	* [AUTHORS] [include/authors.h]
	Added myself as a Wine author.

	* [memory/virtual.c] [objects/dc.c]
	Fixed runtime errors for Solaris.

	* [misc/ddeml.c] [objects/gdiobj.c]
	Minor fixes.

	* [win32/device.c]
	Added stubs for IFSMgr VxDCall and
	a partial implementation of IFSMgr DeviceIo.

	* [relay32/Makefile.in] [relay32/builtin32.c] [relay32/imm32.spec] 
	  [relay32/msnet32.spec] [relay32/oledlg.spec]
	Added new spec files for IMM32.DLL, MSNET32.DLL, OLEDLG.DLL.

	* [misc/Makefile.in] [misc/imm.c] [include/imm.h]
	Added news files for implementation of IMM32.DLL. 
	All functions return 0 as is correct for all Western Languages.

	* [ole/Makefile.in] [ole/oledlg.c] [include/oledlg.h]
	Added new files for implementation of OLEDLG.DLL.
	Added stubs with FIXME:s for all functions.

Wed Sep  2 10:50:00 1998  Juergen Schmied <juergen.schmied@metronet.de>

	* [dlls/shell32/contmenu.c][dlls/shell32/shellole.c]
	  [dlls/shell32/shlfolder.c][dlls/shell32/shlview.c]
	  [documentation/shell32][include/shell.h]
	Clean up, bugfixes.
	
	* [dlls/shell32/enumidlist.c]
	Fileattributes implemented.
	
	* [dlls/shell32/pidl.c]
	Class pidlmgr splited into functions, structures changed, 
	some functions rewritten.

	* [dlls/shell32/shell32_main.c]
	Small changes and bugfixes SHGetFileInfoA, SHGetSpecialFolderLocation.
	
	* [dlls/shell32/shellord.c][relay32/shell32.spec]
	Parameter documented, implemented SHCloneSpecialIDList.
	Stub improved ShellExecuteEx32A.
	New stubs SHFind_InitMenuPopup, FileMenu_InitMenuPopup, 
	FileMenu_Create, FileMenu_TrackPopupMenuEx, SHWinHelp,
	SHRunConrolPanel, DAD_ShowDragImage, FileMenu_Destroy,
	SHGetDataFromIDListA, SHFileOperationA.
	
	* [include/winnls.h][include/ole2nls.c]
	TIME_FORCE24HOURFORMAT, TIME_NOTIMEMARKER implemented
	in OLE_GetFormatA, GetTimeFormat32A.
	
	* [win32/code_page.c]
	WideCharToMultiByte: parameter checking and returning of strlen
	implemented.
	
	* [windows/keyboard.c][windows/defwnd.c]
	Debug messages added.
	
	* [windows/win.c]
	WIN_SetWindowLong GWL_STYLE and GWL_EXSTYLE implemented.

	* [controls/menu.c]
	Missing line added.

	* [include/winerror.h]
	Macros for SUCCEEDED and FAILED added.

Mon Aug 31 00:55:31 1998  Ulrich Weigand <weigand@informatik.uni-erlangen.de>

	* [loader/module.c]
	Bugfix: LoadModule16 should *not* call LoadModule32.

	* [files/dos_fs.c]
	Bugfix: don't crash if given directory doesn't exist.

Sat Aug 29 15:00:49 1998  Turchanov Sergey <turchanov@usa.net>

	* [include/mmsystem.h][multimedia/mmsystem.c][relay32/winmm.spec]
	Almost completed implementation of [snd]PlaySound (except
	flags SND_ALIAS_ID and SND_APPLICATION).

	* [if1632/user.spec][windows/winpos.c]
	Added SetWindowRgn16 stub.

Sat Aug 29 02:53:31 1998  Alexander Lukyanov <lav@long.yar.ru>

	* [files/drive.c]
	GetDriveType32A: return DRIVE_DOESNOTEXIST in case of non
	existent drive.

	* [msdos/int21.c]
	INT21_FindFirstFCB: check drive validity to prevent oops.

	* [win32/file.c]
	CreateFile32A: duplicate STD_{INPUT,OUTPUT}_HANDLE.

	* [files/dos_fs.c]
	Make DOSFS_OpenDir treat "" as "/".
	DOSFS_OpenDevice: duplicate STD_{INPUT,OUTPUT}_HANDLE.

	* [windows/dialog.c]
	GetNextDlgTabItem32: use last/first item instead of first/last
	when hwndCtrl==0. This fixes initial focus.

Sat Aug 29 02:46:32 1998  Adrian Harvey <adrian@select.com.au>

	* [include/process.h] [include/process.c]
	Renamed PROCESS_SELF to CURRENT_PROCESS_PSEUDOHANDLE in line
	with thread constant, and Win32 documentation (which calls it
	a pseudohandle.)  Made GetCurrentProcess actually use this
	constant instead of the value.

	* [include/process.h] [include/thread.h] [scheduler/thread.c]
	  [scheduler/process.c] [scheduler/handle.c]
	Modify HANDLE_GetObjPtr to understand about
	CURRENT_THREAD_PSEUDOHANDLE and CURRENT_PROCESS_PSEUDOHANDLE.
	This allows DuplicateHandle to do the correct thing with these
	handles.  Removed now duplicate functionality from THREAD_GetPtr
	and PROCESS_GetPtr.

	* [loader/ne/segment.c]
	Fixed two places where HFILE32s were being created and passed to
	16-bit code. This should unbreak NE self-loading code.
	Added two casts to remove compile time warnings.

Fri Aug 28 21:04:13 1998  Joseph Pranevich <knight@baltimore.wwaves.com>

	* [msdos/dosmem.c] [msdos/int2f.c]
	Added beginnings of DOS error table.

	* [msdos/int1a.c]
	Stub for subfunction 0xb0.

	* [msdos/int10.c] [loader/dos/dosvm.c]
	INT 10 support completely rewritten and lots of debugging
	added. Now, DOS apps that use INT 10 to write to the screen will
	work. (Beyond Zork does, at least. Somewhat.)

	* [include/miscemu.h] [msdos/dosmem.c] [msdos/int21.c]
	Another shot at getting MS's generic error message facility
	right.

	* [msdos/int21.c]
	Command.Com wanted to set its own PSP address. I let it.

Wed Aug 26 12:26:20 1998  Matthew Toseland <Matthew.Toseland@btinternet.com>

	* [include/file.h] [misc/lzexpand.c]
	Fixed LZCopy16 by fixing HFILE16/HFILE32 convertor macros so don't
	convert lzw handles.

Tue Aug 25 22:22:55 1998  Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>

	* [misc/registry.c]
	In RegEnumvalue, ivalue == 0 is a legal request and should
	return the first entry.

	* [msdos/int21.c]
	Add handling for Int21-48/49 in Win16. Makes blinker demo work.

	* [windows/winproc.c]
	Add Msg32A<->Msg32W translation for LB_ADDSTRING.

Tue Aug 25 21:03:31 1998  Kristian Nielsen  <kristian.nielsen@risoe.dk>

	* [windows/win.c]
	Fix for SetParent(): MS Windows 3.11 does not clear the WS_CHILD
	flag when a child window is reparented to the desktop window.

Mon Aug 24 20:55:22 1998  Berend Reitsma <berend at asset-control dot com>

	* [controls/menu.c]
	Menus created with SetMenuItemInfo and InsertMenuItem should
	work now.

Sun Aug 23 23:23:23 1998  Alex Korobka <korobka@ams.sunysb.edu>

	* [controls/combo.c]
	Added CB_GETITEMHEIGHT.

	* [windows/winpos.c] 
	WM_NCHITTEST, SWP_FRAMECHANGED bugfixes.

Sat Aug 22 21:15:29 1998 Alex Priem <alexp@sci.kun.nl>

	* [files/profile.c] [include/windows.h]
	Added GetPrivateProfileSectionNames[AW],GetPrivateProfileSectionW,
	GetPrivateProfileStructW, GetProfileSectionW,
	WriteProfileSection[AW], WritePrivateProfileStructW.
1998-09-13 16:32:00 +00:00