Take care of all the common stuff such as setting the event object and the
model, which is used for all events, in the ctor. Also set both the column
pointer and the column index at once instead of having two separate setters
for them which could result in inconsistent event objects (and did, as
sometimes only one or only the other field was set).
This makes the code shorter (we save 160 lines) and more clear and ensures
that everything is always initialized.
Closes#12649.
Using wxELLIPSIZE_END together with wxALIGN_RIGHT resulted in unnecessarily
ellipsizing or truncating the column contents in generic wxDataViewCtrl under
MSW due to the combination of b642747fd2 and
the native API behaviour.
Fix this by not using alignment in RenderText(): it is unnecessary anyhow and
not doing it avoids the problem as a side effect.
Closes#17363.
Caching the best column widths broke autosizing behaviour if the column title
was updated after setting the width to wxCOL_WIDTH_AUTOSIZE.
Fix this by invaliding the column cached width if its text changes.
UpdateColumnSizes() was called whenever the control was modified in any way
since 4156e1a5c9 and it refreshed the entire
last column even if absolutely nothing changed.
Don't do this unless the last column width has really changed.
There doesn't seem to be any reason for this method to be virtual other than
preventing "virtual function hiding" warnings from gcc, so just rename it to
have a different name than the virtual EnsureVisible() inherited from the base
class instead.
These grid table requests seem to have been never used and were not doing much
in wxGrid neither, moreover they were never documented, so just stop
supporting them.
Add XRC handler for wxAuiManager and include the existing wxAuiNotebook
handler into it (but notice that wxAuiToolBar handler added by a later #15686
in f269f868d7 remains separate).
Also update the AUI dialog in the sample and stop hardcoding its size in
pixels.
See #13520.
Make wxHyperlinkCtrl ctors non-inline to work around an error about incomplete
wxHyperlinkCtrlColData in the inline ctor body with this compiler (but not
with g++ 4.9 nor 5.3, somehow).
Closes#17089.
With WXWIN_COMPATIBILITY_3_0 set to 1, m_anyModified member of
wxPropertyGridPageState is an unsigned char, not bool, so don't convert it to
a bool implicitly.
Contrary to the comment in wxHtmlHelpFrame::Create(), this doesn't seem to be
necessary and can be actually problematic.
Never adding this menu obviates the need for the wxHF_MENU style from #15538.
Closes#15538.
The changes of 7e8c2cc4a5 broke opening URLs
of the form "file:///full/path/file.zip#zip:file.htm#anchor" as the one used
as the initial page in the help sample, which showed the error about not being
able to open it because OpenURL() now turned such URL into a partially escaped
one by replacing the last "#" with "%23" and preventing wxArchiveFSHandler
from handling it properly.
There seem to be too many problems with changing this code, so revert the
commit above and the commit 5c72e0c354 which
already corrected another problem with it.
See #17148.
This is required to avoid gcc warnings (and possibly errors with other
compilers) about ambiguous comparison operators due to our (wchar_t,
wxUniChar) overloads defined in wx/unichar.h.
Use wxDEFAULT_DIALOG_STYLE by default but allow changing it before really
creating the dialog.
Also use CreateStdDialogButtonSizer() to make the code a bit more high level.
Closes#17275.
Due to a clash between numeric values of wxTE_MULTILINE and wxDIALOG_NO_PARENT
text entry dialogs for multiline text didn't have a parent.
Fix this by always using a parent for them, which is better than never doing
it, even if still not ideal.
Closes#17136.
It's confusing that wxLogInfo() and wxLogVerbose() are exactly the same and
the former, and not only the latter, doesn't do anything unless SetVerbose()
had been called, even if the log level is wxLOG_Info or higher.
Fix this by checking for GetVerbose() in wxLogVerbose() only and making
wxLogInfo() check the log level only. This makes it very similar to
wxLogMessage() but this is not such a bad thing.
Also improve wxLogVerbose() documentation.
Disable ASCII quotes substitution with "more typographically accurate"
symbols, just as we already do it for the dashes substitution.
While disabling this unconditionally might not be perfect, it's better than
unconditionally leaving this enabled (and this is on by default since OS X
10.9).
Closes#15705.
Closes https://github.com/wxWidgets/wxWidgets/pull/241
Add missing utf8_str() call as implicit conversion is not available in
wxUSE_STL=1 case (notice that this also makes wxUSE_STL=0 work correctly when
not using UTF-8 locale).
Closes#17412.
wxMBSTRINGCAST is a const-removing cast and therefore should be avoided
unless necessary.
Here, the cast was used to convert wxWX2MBbuf to const char *, which does not
involve removing const-ness.
WXSTRINGCAST is a const-removing cast and should be avoided unless necessary.
Here, wxString::c_str() is sufficient because GetTextExtentPoint32 takes
a const pointer.