wxPluginLibrary objects had to be unloaded in exactly the reverse order to
which they were loaded in. This was not documented and was a serious
limitation for any realistic use of plugins anyhow, so fix it and allow
unloading them in any order now.
Instead of keeping a pointer to the last wxClassInfo not created by this
plugin, now keep a pointer to the first wxClassInfo that was created by it.
This makes the code slightly more complex but this pointer, unlike the old
one, remains valid even if another plugin was unloaded.
Closes#14261.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71571 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
No changes, just make the code simpler and more obviously correct by using a
helper class to create and fill the SAFEARRAY that we create.
Closes#14296.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The implementation of wxRendererXP::DrawChoice() inadvertently used
wxRendererMSW::DrawComboBoxDropButton() and so drew the button in the classic
and not themed style.
Fix this by defining DrawChoice() in the base wxRendererMSWBase class and
reusing it in wxRendererXP via inheritance and not composition.
Closes#14337.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Private headers are not supposed to be installed because they are only use
when building wxWidgets itself, so don't list them in files.bkl.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71568 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This header is used by public headers and hence is not really private, move it
to a better place and add it to the list of OSX headers in the bakefile.
Closes#14339.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71567 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Do not delete the client data in wxDataViewListCtrl, this class mainly exists
for compatibility with wxListCtrl and as the latter doesn't delete its client
data, neither should the former.
See #11088.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxAuiNotebook already inherits perfectly workable AdvanceSelection() and
GetCurrentPage() methods from wxBookCtrlBase, no need to reimplement them in
it.
See #14309.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71560 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxControlContainer::SetLastFocus() propagated wxChildFocusEvent explicitly to
its parent but this is not needed because wxChildFocusEvents propagate by
default, being derived from wxCommandEvent. And doing it again resulted in the
total number of events increasing exponentially with the depth of the window
hierarchy and real performance problems due to processing all of them.
Closes#14310.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Do the same changes as were done in r71540 to GetSelectedTextRaw() in
GetSelectedText() itself by modifying the code in gen_iface.py that generates
it.
Closes#14331.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Correct errors in TransformPoint() and TransformDistance().
Change Rotate() to interpret positive angles as rotating clockwise, for
consistency with wxGraphicsContext::Rotate().
Improve the unit test to verify that all the transformations work correctly.
Closes#14334.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71555 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
wxCHECK_W32API_VERSION() is only defined when using MinGW, don't use it an #if
test which is always parsed but only in a separate test inside #ifdef __GNUG__
test which is parsed only when we do use MinGW.
This fixes harmless but annoying warning from MSVC 10.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71545 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Use SCI_GETSELTEXT to compute the size of the buffer instead of doing it
ourselves, especially as we do it incorrectly in case of rectangular
selection.
Closes#14331.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71540 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Removal from the simply linked list of event filters wasn't done correctly as
the pointer to the previous node was never updated.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71538 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Clang warns about using letters and digits in a switch on wxKeyCode enum which
doesn't include them as elements. This is generally useful but really annoying
in this case, especially due to the sheer number of warnings, so disable it
using Clang-specific pragma.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Clang doesn't accept "struct objc_object*" as synonym for "id" in Objective-C
code, so use the real "id" for it while still using the struct pointer for C++
code where "id" is not defined.
Closes#13565.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
A library using wxWidgets linked with 10.6 SDK might be loaded into an
application loading 10.5 version of AppKit in which case 10.6-specific
functions shouldn't be used. Check for the AppKit version effectively in use
instead of just checking for the system version.
Closes#13831.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71515 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Change the internal flag to wxDIALOG_MODALITY_NONE before sending
wxEVT_WINDOW_MODAL_DIALOG_CLOSED event. This ensures that if the dialog is
shown again from this event handler it works correctly.
Closes#13951.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71514 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Include copy.xpm under all platforms as all of them support (even though
without necessarily implementing it) wxMenuItem::SetBitmap() now.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71512 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
The control remained associated to the model so a dangling pointer could be
used if the model was destroyed after the control.
Fix this by removing the control from the model list of notifiers when it is
destroyed.
Closes#14124.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71511 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Don't use wxDEFAULT, there is no match for wxFont ctor taking wxSize and it,
use wxFONTFAMILY_DEFAULT instead.
Also remove the unnecessary .c_str() from the same wxFont ctor call, there is
really no reason at all to have it there.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71507 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
g++ 4.8 recognizes "cpu" in WX_CC_MANIFEST expansion as a user-defined literal
suffix, add spaces around it to prevent this from happening.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Fixed composite object positioning in centred and right-aligned
paragraphs.
Added field example to sample, and enabled pixel font size selection.
Added custom text and dimension scaling.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Define the "unused" variable unless wxLogDebug() calls are variadic macros
(not evaluating their arguments at all) and not functions.
Fixes compilation broken since r71466.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
Restore explicit conversion of wxString to char*, there is no implicit
conversion in wxUSE_STL build.
Use utf8_str() instead of c_str() removed by r71467 however as this is what we
need for wxGTK.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71501 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775