This can result in a crash if the measuring code is called, possibly
indirectly, from a method of a cell object itself and if that cell is
displaced from the cache while caching the cell created in OnMeasureItem().
Closes#16651.
When label editing is finished then property label has to be always updated. If there is a text which is cached in the corresponding cell then it also needs to be updated.
See #16982.
Use GetRowHeight()/GetColWidth() instead of accessing m_rowHeights/m_colWidths
arrays directly as the functions handle the hidden rows/columns correctly.
This fixes bug with corruption of wxGrid appearance if any rows/columns were
inserted into or deleted from a grid containing some hidden rows/columns.
Closes#16980.
Move wxAnyButton::GetNormalState(), which allows wxToggleButton to override
what "normal" means for it, down to the platform-independent wxAnyButtonBase
class and use it now in wxGTK as well to correctly choose the pressed bitmap
for a toggle button in this state.
Closes#16771.
Update the name and the comment to explain better that this method returns the
state for which the bitmap is currently shown, not necessarily the current
state.
See #16771.
Don't allow specifying the directory in the former and do check for the
directory existence in the latter.
Also update the file shown in the dialog in SetFilename().
Closes#16685.
Use a helper hash map to allow efficiently finding message catalogs by name
instead of using linear search in a linked list which can be noticeably slow
when many catalogs are used.
This speeds up wxGetTranslation() when the domain is specified.
Closes#16975.
Since [NSString characterAtIndex:] return UTF-16 values, it can't be used as a
"character", convert the entire NSString to wxString and iterate over it to
obtain the real characters that should be sent in wxEVT_CHAR events.
Closes#16979.
Spurious wxEVT_PG_LABEL_EDIT_ENDING events shouldn't be generated also if wxPropertyGrid::DoEndLabelEdit() function is reentered multiple times (constraint for selected column should be removed from the guard because column index is set to 1 after first reentry and no longer reflects original value stored in the event object).
Closes#16864.
The bitmap that appears next to the edit field is being cropped
vertically after a certain bitmap height. Increase the vertical spacing
reserved for the bitmap under OS X to fix the cropping.
Remove alignment flags that result in asserts because of being used in
combinations that don't make sense.
Also use wxSizerFlags in the lines that were changed.
Get rid of the ugly and unnecessary hack of making the control a child
of the GtkTreeView "behind its back", which was a terrible idea and
bound to cause problems.
See #16850
Scale the (still hard-coded) border in pixels by the content scale factor for
the platforms where this needs to be done, i.e. not wxGTK nor wxOSX where the
underlying toolkit already does it.
Pixel values in XRC can never be correct for high resolution displays, unlike
the pixel values passed to wxWidgets API, which could be already adjusted to
account for the resolution or obtained from resolution-dependent text metrics,
so scale them by the factor appropriate for the current resolution
automatically.
Allow calling this method with either wxSize, wxPoint or just an int.
Also provide a static overload allowing to use it even when no appropriate
wxWindow is available.
Factor out this code to a reusable ParseValueInPixels() function instead of
repeating it in GetSize() and GetDimension() (and using a hack to reuse it
from GetPosition()).
No real changes, just made some error messages more precise.
The shadow width was only used by wxMotif and bezel face not used at all since
a very, very long time, so just remove these methods from the ports which still
had them (just doing nothing) and remove support of the corresponding XRC
attributes.
This function is available on OS X since 10.5, which is the minimum
supported version of wx 3.0.
Fixes Xcode 6.3 warning triggered by checking availability of a symbol
that wasn't marked as weak_import.
Don't use this flag in a vertical sizer, it doesn't make sense.
Also use wxSizerFlags instead of multiple argument Add() overload for clarity.
Closes#16953.
This improves commit dd3cb24cc0 by fixing not
only the warning about casting int to a pointer, but also the (usually more
serious but still harmless in this particular case) warnings about casting
pointers to ints and doing it via the usual union cast instead of compiler-
specific pragmas.
Typically to achieve horizontal alignment inside a horizontal sizer a spacer
needs to be inserted before the element, so explicitly say this instead of
advising to set proportion which wouldn't allow aligning the item.
This flag is more difficult to deal with than the others as it can stand for
either wxALIGN_CENTRE_VERTICAL, wxALIGN_CENTRE_HORIZONTAL or both depending on
the sizer it appears in and the other flags used. It is also trickier to give
good error messages for it as we shouldn't complain about e.g.
wxALIGN_CENTRE_VERTICAL if it doesn't appear in the XRC at all and only
wxALIGN_CENTRE does.
Check for definitely invalid combinations such as wxALIGN_CENTRE|wxEXPAND or
wxALIGN_CENTRE combined with other alignment flags in both directions and
accept everything else.
Also remember the flag names with quotes now, instead of adding the quotes
when building the error message later because the latter doesn't work when we
include additional explanation for wxALIGN_CENTRE in the flag description.
This warning appears in each buildbot build (which is wrong on its own as
libtiff configure shouldn't forcefully regenerate its output config.h every
time neither -- but currently it does) and is annoying as it distracts from
the other warnings, so suppress it even if usually we don't do it for the
warnings in 3rd party code.
Previously it only handled wxALIGN_CENTRE, also the documentation switched to
wxALIGN_CENTRE_HORIZONTAL in 72e88d8ea3 and
preceding commits.
See #16943.