Commit Graph

342 Commits

Author SHA1 Message Date
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Vadim Zeitlin
c67f815120 Delete wxListCtrl item data after handling its deletion event in wxMSW.
We deleted the data associated with the item too soon as we did it before the
handler for the item deletion event was run and this handler could still
access this data.

Only free the data after the handler returns now.

Closes #12449.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65536 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-12 22:58:53 +00:00
Vadim Zeitlin
5844ad30dd Fix generation of key events for non-alphabetic keys under Windows.
Don't hardcode the values of VK_OEM_XXX keys which are completely nonsensical
on keyboards with non-US layouts. Use the real unshifted value of the key as
its key code instead -- at least if it's a Latin-1 character. Otherwise, use
WXK_NONE as the key code and pass the character generated by the key as
Unicode character code.

Also generate WXK_NONE events for dead keys to avoid confusing them with the
corresponding normal key events.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65525 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:19:02 +00:00
Vadim Zeitlin
0c03f52d02 Rename wxCharCode{MSWToWX,WXToMSW}() and move them to a separate header.
These functions were confusingly named as they work with MSW (virtual) key
codes and not character codes, rename them to better indicate what they do.
They also don't need to be in wx/msw/window.h included by all wx code when
they are only really needed in a couple of files, so move them to a private
header.

No changes in behaviour.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:53 +00:00
Vadim Zeitlin
b6885972ee Fixes to key codes in keyboard events generated by wxMSW.
Only set Unicode key code if the event corresponds to a character key and set
it to (newly added) WXK_NONE for the other ones to avoid nonsensical values in
it for e.g. "Home" key presses.

Also set non-Unicode key to WXK_NONE for the characters that can't be
represented in the current locale. This is consistent with wxGTK and avoids
conflicts between special key values and Unicode keys.

Clearly document the above behaviour.

Notice that implementing the correct behaviour in wxMSW involved untangling
previously interwoven WM_KEY{DOWN,UP} and WM_CHAR messages handlers. Clearly
separate them now as they get different input (key codes for the former,
characters for the latter) and especially don't try to convert from both kinds
of input using a single wxCharCodeMSWToWX() function. As this function doesn't
need to distinguish between keys and characters any more it can simply return
the converted value in all cases instead of returning 0 sometimes to indicate
a character value instead of a key. Simplify the code using this function
accordingly.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65522 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-11 10:18:47 +00:00
Vadim Zeitlin
4b97af90bf Don't send event from wxMSW::wxListCtrl::DeleteAllItems() if it did nothing.
wxEVT_COMMAND_LIST_DELETE_ALL_ITEMS should only be sent if the control hadn't
been empty before. Document this behaviour and adjust wxMSW to match the
other platforms.

Also document the return value better.

Closes #12336.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65381 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-22 22:15:17 +00:00
Vadim Zeitlin
5276b0a53c Use wxDELETE() and wxDELETEA() when possible.
Use wxDELETE[A]() functions which automatically NULL out their arguments after
deleting them instead of doing it manually.

Closes #9685.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 18:18:23 +00:00
Vadim Zeitlin
417b8fcc49 Use ListView_CancelEditLabel() to implement wxListCtrl::EndEditLabel().
Windows XP and later finally added a special message to cancel label editing,
use it if available.

Also improve the documentation of this method.

See #7663.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 13:17:25 +00:00
Vadim Zeitlin
747eb0f686 Fix wxListCtrl::EndEditLabel() which simply didn't work.
Also document it (even though it's wxMSW-only for now) and add a test for it
in the sample.

Closes #7663.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64368 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-20 22:04:03 +00:00
Vadim Zeitlin
b6812a6f19 Add column parameter to wxListCtrl::GetItemText().
Allow retrieving the text from columns other than the first one directly.

Add implementations for MSW and generic versions, documentation and a unit
test.

Closes #11597.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64281 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-10 21:22:16 +00:00
Vadim Zeitlin
b66c3a6751 Fix sending of wxEVT_COMMAND_LIST_COL_DRAGGING events in wxMSW wxListCtrl.
We were not getting HDN_TRACK from the system because apparently it is not
sent for header controls with HDS_FULLDRAG style which is used by default by
the native list control. A possible solution would be to forcefully unset this
style but this would make the UI look old fashioned and less intuitive so
instead send these DRAGGING events from HDN_ITEMCHANGING.

Closes #9471,

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63240 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-24 01:00:27 +00:00
Vadim Zeitlin
cbab155657 No real changes, just fix a typo in comments and documentation.
Use "surprising" instead of (common) "surprizing" misspelling.

Closes #11627.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-14 18:02:26 +00:00
Vadim Zeitlin
92a2a0ef91 Fix wxListCtrl::GetSubItemRect(wxLIST_RECT_ICON/LABEL) in wxMSW for column 0.
Wrong width was returned for the icon or label rectangle when querying the
first column. Fix this and add a test to the sample allowing to check this.

GetSubItemRect() still returns wrong results for second and subsequent
columns, see #11355.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62706 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-24 00:01:38 +00:00
Vadim Zeitlin
2d5e5799a9 Make assert in wxMSW wxListCtrl::InsertItem() more informative.
Assert if inserting an item failed (this is really unexpected and must be a
programmer error) instead of asserting about items number mismatch -- which
might be true but only indirectly helpful.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62429 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-16 14:35:21 +00:00
Vadim Zeitlin
b275d34752 Remove declarations of two non-existent functions in wxMSW wxListCtrl.
wxGetInternalData() were left overs from old versions of the code and don't
exist any more.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61717 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-20 00:44:32 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
fb4079af5b fill in the fields of wxListItem in a wxListEvent before handling the event (closes #10820)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60732 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-24 18:04:37 +00:00
Vadim Zeitlin
31cc5049d3 correct the inversed assert check in LVN_DELETEITEM handler (closes #10831)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60731 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-24 17:39:49 +00:00
Vadim Zeitlin
c767a5bbfe optimize FindItem(data) performance (closes #9870)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60362 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-25 22:31:48 +00:00
Vadim Zeitlin
dc6a272b89 correct the assert added by r60056 to not trigger in non-report modes (see #10687)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-21 17:58:35 +00:00
Vadim Zeitlin
b18e2046af pass wxIntPtr, not wxUIntPtr, to wxListCtrl::SortItems() callback as it's more compatible with the existing code assuming that this parameter is signed (as our own wxFileCtrl did)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-16 13:00:40 +00:00
Vadim Zeitlin
6e2f308461 use wxUIntPtr instead of long for 3rd parameter of wxListCtrl::SortItems() to allow passing pointers to it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-15 21:23:50 +00:00
Vadim Zeitlin
14263426cf added assert checking the column index validity (see #10687)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60056 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-07 11:11:41 +00:00
Vadim Zeitlin
3b241537ef remove "item.cchTextMax=0" line from SetItem() as it doesn't seem to make any sense (see #10687)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-07 11:10:40 +00:00
Vadim Zeitlin
dcc3f1a5e3 no real changes, just remove unnecessary semicolons (part of #10687)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60053 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-07 11:09:14 +00:00
Vadim Zeitlin
4b6a582bef replace more __WXDEBUG__ occurrences with wxDEBUG_LEVEL
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-22 12:53:48 +00:00
Vadim Zeitlin
36e5a9a7c4 fix (harmless) warnings in release mingw32 build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59108 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-23 21:15:45 +00:00
Vadim Zeitlin
99366b91eb don't use invalid item indices in wxLC_HRULES-drawing code (closes #10484)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58812 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-09 13:41:25 +00:00
Vadim Zeitlin
c0c133e13b add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
eab1336c90 added (MSW-only) wxListCtrl::OnGetItemColumnAttr() (#10018)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-25 13:27:48 +00:00
Francesco Montorsi
8d1a41016d assert when the item index is out of range in wxMSW's listctrl, just like generic listctrl does
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 19:34:42 +00:00
Vadim Zeitlin
6756186271 fix Get(Sub)ItemRect() after changes of r54437; added test for it (see #10175)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57458 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-21 02:13:58 +00:00
Vadim Zeitlin
64accea5fa added .c_str() to wxStrlcpy() calls to fix wxUSE_STL build (closes #10252)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-17 09:49:42 +00:00
Vadim Zeitlin
ceef3893cb replace the mismatched new[]/delete (bug #10234) with a wxVector
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57032 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 22:30:58 +00:00
Vadim Zeitlin
e408bf5257 add safe wxStrlcpy() function and replaced all wxStrncpy() calls by it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57023 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:41:02 +00:00
Vadim Zeitlin
601a5d6e72 properly NUL-terminate the string when using strncpy() (#10230)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57021 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 13:43:32 +00:00
Vadim Zeitlin
80cc5fc7ad document column reordering in wxListCtrl; fix confusion between GetColumnOrder() and GetColumnIndexFromOrder() doing this discovered; show the use of these methods in the sample and added a unit test for them
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-26 19:11:22 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Vadim Zeitlin
89cafab0f4 using ListView_Get[Sub]ItemRect() provokes warnings with mingw32 4.3, use our own versions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55378 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-30 16:53:18 +00:00
Vadim Zeitlin
d3acc83ae9 fix some (harmless) mingw32 4.3 warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55376 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-30 16:30:53 +00:00
Vadim Zeitlin
77cfdec054 removed a cast to WPARAM which was unnecessary and provoked a warning (part of #9803)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 14:31:00 +00:00
Vadim Zeitlin
e974c5d258 implement wxListCtrl::GetSubItemRect() for generic version and fix bug in it in wxMSW one; also added a test for it in the sample
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-30 18:21:33 +00:00
Vadim Zeitlin
929b79014a support wxListCtrl::GetViewRect() in report view too; test it in the sample (#9484)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54412 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-29 00:12:12 +00:00
Vadim Zeitlin
ec27ba21ed don't activate items on Alt-Space or Alt-Enter (#9615)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-28 01:49:44 +00:00
Vadim Zeitlin
508b652335 ensure that GetEditControl() returns something even if label editing was started by the user and not the program (closes #1325)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-30 00:26:07 +00:00
Vadim Zeitlin
5cd4cb75ee no changes, just refactor the code to avoid having the same code for m_textCtrl destruction in 4 places
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-30 00:03:03 +00:00
Vadim Zeitlin
9a8d75f1ed call base class version from SetWindowStyleFlag() to update common styles such as border ones too (closes #9480)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53727 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-05-23 18:56:24 +00:00
Vadim Zeitlin
36c10aa142 don't provide unnecessary (as default) arguments to wxPen ctor, this incidentally fixes deprecation warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-17 20:46:36 +00:00
Vadim Zeitlin
2036bdd303 don't define, nor use, LVS_EX_LABELTIP under WinCE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-24 23:20:27 +00:00
Vadim Zeitlin
674c275059 use listctrl coordinates for the wxEVT_COMMAND_LIST_COL_RIGHT_CLICK events (this was broken during wxMSWGetColumnClicked() refactoring)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@51776 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-13 23:16:04 +00:00