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.
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.
visible with WinZip and CuteFTP 4.0. Fixed compile warnings from format type
specifiers in two TRACE's. Removed TRACE in TOOLBAR_GetItemRect(). Added
button width to TRACE in TOOLBAR_CalcToolbar().
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.
Serge Ivanov and Andrew Lewycky. Fixed item focus behavior to match
Windows. Fixed item selection when un/expanding items. Implemented
WM_SETREDRAW. Added Corel's COMCTL32_CreateToolTip() helper function
to commctrl.c.
- added RLE8 incremental decompression
- each animation is now controlled by its own Windows thread
- added use of Critical Sections in the WM_PAINT handler.
determine whether we need to call InvalidateRect() with bErase of TRUE or
FALSE. Reduces background erases in non-text toolbars by 80-85%.
- Fixed button state not being updated properly when LBUTTONDOWN and cursor
leaves the toolbar.
- Removed FIXME() in TOOLBAR_DrawString for btnPtr->iString == -1, replaced
with a source code comment.
- Removed unecessary call to TOOLBAR_CalcToolbar() in
TOOLBAR_GetItemRect(). Optimized TOOLBAR_CalcStrings(). Fixes very
slow responding toolbars in Ultraedit due to processing TB_GETITEMRECT
messages.
- Optimized TOOLBAR_SetIntent(), SetRows() and SetStyle().
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.
RedrawWindow was being used for the RDW_UPDATENOW flag which forced an
immediate WM_PAINT message. Moving to InvalidateRect should let
WM_PAINTs occur normally.
Fix TTM_{S|G}ETDELAYTIME to use the double click time as default.
Fix handling of TTDT_AUTOMATIC.
Relayed mouse messages should extract the position from lParam not
msg.pt
SubclassProc now unified with TTM_RELAYEVENT.
Change all lstrcpyxtox to use win32 APIs.
- 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.
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.
WM_SIZE support. Optimized drawing. Added WM_LBUTTONUP handling.
Handle DTS_RIGHTALIGN style. Fixed handling of formatting styles,
date is now displayed properly for DTS_SHORTDATEFORMAT.
either RedrawWindow or InvalidateRect. Optimized drawing using
RedraWindow and update regions. Fixed "Today" date bug where year was
only one digit. Fixed drawing of circle drawn next to "Today". Fixed
moving to previous or next month by clicking on days belonging to
previous or next months.
Fixed the blank color palette tooltip bug by triggering a refresh of
the tooltip with UpdateWindow function instead of calling directly the
refresh function.
TOOLBAR_MouseMove() only if hot effect applies to the current hot
button. Restore bHot flag of hot button in TOOLBAR_LButtonUp() to
restore hot effect properly.
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.
application in a treeview when the label is a callback.
- Because windows applications assume they get a new edit control
every time they often subclass that edit box willy-nilly and do not
clean up. So it is necessary to actually give them a new edit control
each time.
avoiding trying to draw invalid bitmaps.
- Avoid directly calling drawing functions instead invalidating rects
and relying on WM_PAINT.
- For the dropdown event check the button style as opposed to the
toolbar style.
old parser has been stripped from the old preprocessor-code which
cleaned up both resource-scanner and -parser.
- Standard defines have been introduced (see README.wrc)
- Both preprocessor- and resource-scanner have been optimized slightly
so that no backing up is required (one char lookahead is enough).
- Filename-scanning has been cleaned up, though not perfect yet.
- User-type resources are compatible now.
- Line-continuation in strings is corrected so that it does not
introduce a newline in the output.
Implemented TME_QUERY and TME_HOVER flags in _TrackMouseEvent and
TrackMouseEventProc. Added code to allow addition/cancelation of
tracking flags on existing entries rather than create extra entries.
Fixed timer. Added check to _TrackMouseEvent to stop timer if the
tracking list is empty. Fixed TME_CANCEL. Fixed TME_LEAVE/TME_HOVER
when hwndTrack isn't the current hwnd.
Redraw toolbar button inside TOOLBAR_EnableButton() only if the state
of the button changes. Stops flickering in toolbars caused by
excessive redrawing.
TabCtrl leftmostVisible is not updated properly. It caused the QP
application bar on the bottom fail to bring back the items when there
is no need to scrolling. Also fixed a bug that when an item is inserted,
setItemBounds should be called first, then it's time to invalidate.
Trackbar contol did not have proper position value in case of
SB_THUMBTRACK notification message: it was always sending 0.
Jim Aston <jima@corel.ca>
Made the slider control a rect. It had been trying to draw a notched
slider, but the result didn't look right.
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.
In Windows Property Sheet can have any mix of icon-less tabs and tabs
with icons. Adds a check to see if the icon we're adding is non-NULL
(otherwise random junk from memory can be rendered) when the application
has specified the PSP_USEICONID flag is set. Changes to the Tab control
to only render icons for tabs that have the TCIF_IMAGE flag set
(previously, if the flag was set the entire image list of icons was
rendered).
Stephane Lussier <stephane@macadamian.com>
Fixes for some tab control bugs
Henning Hoffmann
Fixed some width problem with OWNERDRAW tab.
Luc Tourangeau <luc@macadamian.com>
TCM_ADJUSTRECT is now returning consistant compare to Windows.
Serge Ivanov <sergei@corel.ca>
Fixed problem with tab selection. When you select tab it becames first
visible tab. Now leftmost visible tab is calculated properly.
- Added code for correct handling of updown control.
- Forced recalculation of tabs' coordinates when:
a) all items are deleted,
b) window style is canged
patch adds similar behaviour to Wine. It also adds some NULL checks.
<yuxi@corel.com>
Fix property sheet initialization bugs.
Matthew Robertson
The template was calling GetActiveIndex which was not being set in the
propsheet code, and the call was moved before we call SetActive -
because that's where we query for the Active Index.
Noomen Hamza
Resize property sheet to the largest dialog size.
Don Kelly
In the WM_INITDIALOG handler for the prop sheet, there is a call to
PROPSHEET_IsTooSmall() which, if it returns TRUE, calls
PROPSHEET_AdjustSize(). Contrary to its comment, .._AdjustSize() actually
aligns the sizes of the "largest" prop. sheet dialog template and the tab
control. The IsTooSmall() call doesn't properly catch this mismatch.
Modified the function to return TRUE if the sizes mismatch and renamed it to
PROPSHEET_SizeMismatch() to reflect its proper use.
(ImageList_SetOverlayIndex) should accept -1 as overlayindex.
(ImageList_Read) We can read a NxM bitmap from the stream and have
to convert it into a 1x(M*N) bitmap, set cCurImage,cMaxImage. Added
documentation.
(others) removed some potential operator precendence problems.
Implemented WM_SIZE message support. Optimized drawing to use
precalculated size values rather than recalculating during each call
of MONTHCAL_Refresh.
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.