Commit Graph

320 Commits

Author SHA1 Message Date
Vadim Zeitlin
73cab0bd4e Keep children of collapsed item selected in wxGenericTreeCtrl
Collapsing a branch shouldn't deselect all the items under it in
multi-selection mode: this doesn't seem to be useful or otherwise make
sense and makes the generic version gratuitously incompatible with the
native MSW one.

Closes #10239.

Closes https://github.com/wxWidgets/wxWidgets/pull/1581
2019-10-05 15:03:20 +02:00
Igor Korot
a6b92cb313 Don't send EXPANDED in generic wxTreeCtrl if not really expanded
On demand expandable items can fail to be actually expanded when the
user attempts to expand them, but the generic version of wxTreeCtrl
still sent an EXPANDED event in this case, which wasn't useful and
differed from the native MSW version.

Fix this and only send the event if the item was really expanded.

Closes https://github.com/wxWidgets/wxWidgets/pull/1450

Closes #13886.
2019-07-31 01:05:48 +02:00
Paul Cornett
fe1737d399 Reduce the scope of some local variables 2019-04-05 10:44:02 -07:00
Maarten Bent
39ff5b90e5 Replace wxDeprecatedGUIConstants enum values 2018-11-25 21:29:32 +01:00
Maarten Bent
86c49283f5 Remove trailing spaces 2018-11-25 20:22:25 +01:00
Paul Cornett
f4bcb12709 Remove useless initializations
wxObject-derived types and wxString are null/empty by default.
2018-08-22 09:19:15 -07:00
Vadim Zeitlin
caea08e6b2 Generate wxEVT_CONTEXT_MENU everywhere in generic wxTreeCtrl
Clicking outside of the items area didn't generate wxEVT_CONTEXT_MENU in
the generic version, unlike the native MSW one and contrary to
expectations.

Also update the documentation to make it clear when exactly are
wxEVT_TREE_ITEM_MENU and wxEVT_CONTEXT_MENU events generated.

Closes #17361.
2018-01-30 23:34:33 +01:00
Vadim Zeitlin
246ae58c19 Replace wxTreeItemAttr and wxListItemAttr with wxItemAttr
The two existing structs were completely identical, just replace them with a
single wxItemAttr.

Notice that wxDataViewItemAttr is not quite the same, although pretty similar,
so it remains separate for now. It would be nice to combine it with this one
too in the future, e.g. to make it simpler to make items bold in a wxListCtrl.
2016-04-16 19:04:52 +02:00
Vadim Zeitlin
25c9b032a8 Don't call CacheBestSize() from DoGetBestSize() implementations
This is unnecessary, wxWindow::GetBestSize() already does this, so calling it
from DoGetBestSize() called by it too is just useless.
2016-04-03 18:04:26 +02:00
Tobias Taschner
5ba67c67e4 Remove wxOSX/Carbon support.
Cocoa has been the default toolkit in wxWidgets for a long time. There is really no good reason to use Carbon in 2016 and this removes a lot of unused and unmaintained code.
2016-02-01 13:48:48 +01:00
Paul Cornett
c557f66eaf Fix SetWindowStyleFlag() override
Base class SetWindowStyle() is not virtual
2016-01-16 10:40:23 -08:00
Tobias Taschner
e9c04133d2 Remove code targeted at MacOS versions prior to OS X. 2015-08-06 09:50:47 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Tim Kosse
984238305b On wxMac, modal event loops avoid deleting pending events. Hide the text control after editing a label in the generic tree control so it does not remain visible e.g. if the tree control is used in a dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78349 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-05 12:48:45 +00:00
Vadim Zeitlin
47f6df12b3 Revert "Skip mouse button release events in wxGenericTreeCtrl."
This reverts r76094 as it broke label editing in the control.

See #16055, closes #16573.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77891 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-27 16:12:34 +00:00
Vadim Zeitlin
9d7a7ec556 after analisys the behaviour of treectrl in GTK and Qt, right arrow should not move down. Expand the current item will be fine
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77803 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:41:15 +00:00
Vadim Zeitlin
f17b527764 ClearFocusedItem should reset the selected item
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77801 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-23 17:41:09 +00:00
Vadim Zeitlin
c4691daac7 Don't consider hidden root item to be visible in wxGenericTreeCtrl.
This fixes wrong results returned by GetFirstVisibleItem() in the tree control
with wxTR_HIDE_ROOT style.

Closes #4482.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-16 22:55:11 +00:00
Tim Kosse
f1501f0928 Do not assert if not editing a label when calling wxGenericTreeCtrl::EndEditLabel
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76852 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-06 10:01:31 +00:00
Tim Kosse
a2414fa1b7 wxListTextCtrlWrapper::Finish and wxTreeTextCtrl::Finish cannot be called multiple times without crashing. wxListTextCtrlWrapper already used to protect against this in the past, but revision 51150 removed the safety check.
This patch reimplements the functionality in a slighly different way for both controls, so that Finish is not called multiple times.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-03 14:25:30 +00:00
Stefan Csomor
f18d7097da adding wxFALLTHROUGH where until now we had comments, allows for code-analysis support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-26 17:36:32 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
687aedf1ca Skip mouse button release events in wxGenericTreeCtrl.
Not doing this prevented the default handling from taking place resulting in
internal confusion in GtkNotebook when wxTreeCtrl was placed inside it: the
code there set the button being held by user in its mouse press event handler
and reset it in its mouse release event handler which was never called because
we didn't skip the event, resulting in ignoring the next mouse press in the
notebook.

Closes #16055.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-07 13:17:21 +00:00
Vadim Zeitlin
b1273c0d8a Fix wxGenericTreeCtrl::ScrollTo() for all ports, not just wxOSX.
When scrolling down, make the item being scrolled into view completely visible
instead of just showing its top part.

The fix was already used for wxOSX but not for the other ports for some
reason, do use it everywhere as this code is generic and behaves in the same
way in all ports.

Also fix the wrong comments about scrolling direction.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-25 17:26:57 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Stefan Csomor
bc6626eb73 more specific solution to tooltips appearing on neighboring views, refs #15072
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-03-11 10:08:19 +00:00
Vadim Zeitlin
a0e5592007 Revert all wxNOEXCEPT-related changes.
This reverts r72978, 72984, 72989 and 72992. Do not use wxNOEXCEPT for
wxTextCtrl dtor as this breaks compilation of any user-defined classes
inheriting from it unless they use wxNOEXCEPT as well and the benefits
(fixing a harmless warning for the niche ICC compiler) are just not worth
the compatibility breakage.

See #14826.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72993 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-20 12:49:03 +00:00
Vadim Zeitlin
ab7f003482 More compilation fixes after wxNOEXCEPT introduction.
This is a temporary change, r72984 and the following changes (see #14826) will
probably be reverted soon anyhow, but for now at least fix wxGTK compilation.

Closes #14837.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72989 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-19 18:01:01 +00:00
Vadim Zeitlin
f0ac9552ed Update tree control layout in EditLabel() for wxOSX too.
A special preprocessor check for OS X prevented the control from being relaid
out correctly in EditLabel() there, which resulted in problems when trying to
edit a just added item.

Simply remove this check for OS X (and also MSW but this is less important as
this version of the control is almost never used there anyhow) to fix it.

Closes #11179.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-04 23:49:19 +00:00
Vadim Zeitlin
27bc919446 Add a possibility to beep on no match to wxGenericTreeCtrl.
For consistency with Windows, allow to optionally generate a beep when
incremental search in the tree control doesn't find anything.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:42:02 +00:00
Vadim Zeitlin
e0dec8753a Fix return value of wxGenericTreeCtrl::FindItem().
We incorrectly returned the item we started from instead of invalid item if
there was no match, fix this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72637 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:41:38 +00:00
Vadim Zeitlin
4d1cf9f3d3 Handle successive key presses better in wxGenericTreeCtrl search code.
Go to the next item starting with the given character if the same one is
pressed multiple times. This is more useful than searching for an item
starting with multiple occurrences of this character (which usually won't
exist) and is more consistent with how Windows handles this.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72636 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:41:15 +00:00
Vadim Zeitlin
a4e4e66dd6 Recognize "_" as alphanumeric key in wxGenericTreeCtrl find item code.
Items can have underscores in their names too, not just letters and digits.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:40:52 +00:00
Vadim Zeitlin
15ec266ae3 Fix spurious label editing in generic wx{List,Tree,DataView}Ctrl.
Clicking on the control to give it focus must not start editing the label of
an item in it, this is bad UI as you need to carefully select where do you
click to avoid starting to edit the label and nobody else does it like this
(probably because of the former reason).

As a side note, it would be really great to abstract the item handling in a
class that could be reused by all these controls instead of having to update 3
slightly different versions of the same code every time.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72634 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-07 22:40:29 +00:00
Paul Cornett
7d1214cd72 silence warnings about shadowed variables with GCC -Wshadow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 15:55:06 +00:00
Vadim Zeitlin
70680b6177 Use SelectAll() instead of SetSelection(-1, -1).
The former is more clear and also shorter.

Closes #14701.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-27 22:41:09 +00:00
Stefan Csomor
60cccf23da fixing incorrect scrolling - which happened at least under OSX ...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72509 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-19 08:18:15 +00:00
Vadim Zeitlin
fcde720806 Show tooltips for the too long items in generic wxTreeCtrl.
Show the full item text in a tooltip if the entire text can't be shown on
screen.

Closes #14667.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-18 22:45:15 +00:00
Stefan Neis
e75e881575 Spelling fixed for comments and a wxASSERT_MSG. Fixes #14022.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-19 14:49:37 +00:00
Dimitri Schoolwerth
33b26197a5 Fixed keyboard navigation in generic tree control.
Under MSW any cursor key presses would not be handled by the generic tree control (and it would lose focus). Added the style wxWANTS_CHARS to the creation of wxGenericTreeCtrl to fix keyboard navigation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-17 06:06:34 +00:00
Vadim Zeitlin
59cd3bbd6c Fix child selection in multi-selection generic wxTreeCtrl.
The children which are not currently shown on the screen shouldn't be affected
by Shift-selecting in multi-selection control.

Closes #1312.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70249 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-03 00:44:47 +00:00
Robin Dunn
c141046071 Fix the size of the tree's text editing box on Cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67600 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-25 23:18:19 +00:00
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +00:00
Stefan Csomor
6485c8d7fb replace usage of objective-c keyword 'id'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-16 07:22:56 +00:00
Julian Smart
887b919bde Added wxSYS_COLOUR_LISTBOXHIGHLIGHTTEXT to fix tree and list control selection rendering.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67018 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-25 09:38:35 +00:00
Stefan Csomor
2895324520 merging back XTI branch part 2
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-04 08:31:53 +00:00
Steve Lamerton
2a4a928df7 Send generic wxTreeCtrl wxEVT_COMMAND_TREE_KEY_DOWN events from OnKeyDown rather than OnChar. This change means it sends events for the same keys as the wxMSW control. It also fixes the failing unit test.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-22 10:06:39 +00:00
Vadim Zeitlin
e90c93b605 Use wxFont::Bold() in wxGenericTreeCtrl instead of wrongly duplicating it.
Creating a new wxFont from the components of the existing one doesn't always
work because we may not have a valid value for the old font family so attempt
to use it as a family of the new font results in an assert.

Just use wxFont::Bold() instead to avoid the problem. It's much shorter and
obviously correct and doesn't result in asserts.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64649 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-20 17:43:06 +00:00
Vadim Zeitlin
fbf3385651 Make keyboard navigation in generic wxTreeCtrl more Mac-like under OS X.
In the native OS X tree control right cursor arrow expands the current item
and the left one collapses it if it's expanded, make the generic control work
like this too under Mac.

Closes #12019.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64227 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 12:58:22 +00:00