Commit Graph

859 Commits

Author SHA1 Message Date
Vadim Zeitlin
98eec2646e Merge branch 'mingw-w64-warn-fixes'
Fix a few (harmless) warnings when building with gcc 8 from MinGW-w64.

See https://github.com/wxWidgets/wxWidgets/pull/854
2018-07-24 15:14:09 +02:00
pavel-t
2171076e81 Avoid pointer overflow warning in wxPropertyGridPageState::DoRemoveFromSelection()
Looks like gcc8.1 think 'sel' can be empty after initialization. Avoid this by copying only the remaining entries.
2018-07-12 11:18:01 +03:00
Artur Wieczorek
42932d4670 Limit the scope of a temporary variable 2018-07-07 20:30:38 +02:00
Artur Wieczorek
0ee25cce3a Don't use external flag to determine if wxPG header is visible
Check if wxPG header really exists and is visible prior to any operation.

Closes #18128.
2018-07-07 20:28:11 +02:00
Artur Wieczorek
81cac4e46b Simplify getting current wxPG editor control
We can just return the pointer, whether it is NULL or not.
2018-07-06 22:57:53 +02:00
Artur Wieczorek
858b5e7222 Prevent losing the focus by active editor when error dialog box is closed
Displaying error dialog can cause on some platforms native focus changes
what triggers unwanted focus change events in wxPG and disturbs expected
sequence of events. To prevent this from happening (regardless of platform),
we need to save focused window before dialog box is displayed and restore
it after closing the dialog.

Closes #18046.
2018-07-06 22:56:55 +02:00
Stefan Csomor
dcd012184a Dark Mode for wxPropertyGrid
see #18146, thanks to dkulp
2018-06-19 21:49:15 +02:00
Vadim Zeitlin
d4f380e16e Use Bind() instead of Connect() in wxWidgets code
Use more modern function which allows to avoid wxXXXEventHandler()
macros use.

No real changes.
2018-05-30 13:06:20 +02:00
Frédéric Bron
f4b56f67ec Improve documentation of wxPropertyGrid::MakeColumnEditable()
Explain that column must be different from 1 in the documentation and in
the (already existing) assert checking it.

Closes https://github.com/wxWidgets/wxWidgets/pull/656
2017-12-29 20:06:04 +01:00
Vadim Zeitlin
17105cfd07 Simplify changing window styles in wxMSW code
Add wxMSWWinStyleUpdater and wxMSWWinExStyleUpdater helper classes which
allow writing code changing GWL_STYLE and GWL_EXSTYLE bits,
respectively, in a shorter and more clear way.

There should be no real changes in behaviour.
2017-12-10 17:47:16 +01:00
Artur Wieczorek
4df04a88c5 Set wxPG cell background colour as wxPGComboBox background colour
Default wxGenericComboCtrl background colour is obtained under wxGTK
with wxComboBox::GetClassDefaultAttributes(). For wxGTK 3 returned colour
is fully transparent (00000000) which can cause problems with
proper drawing of controls deriving from wxGenericComboCtrl, like
wxPGComboBox which in turn is used by wxEnumProperty, wxCursorProperty,
etc.
wxPGComboBox should have background with the same colour as the cell
so we can explicitly set background colour to avoid using default one.

Closes #17986.
2017-11-12 22:09:09 +01:00
Artur Wieczorek
afdfc02a49 Allow changing wxPropertyGridManager wxPG_EX_NO_TOOLBAR_DIVIDER style
Currently this style can be set only at toolbar creation and cannot
be changed afterwards.
2017-10-21 22:17:54 +02:00
Artur Wieczorek
892def066c Pass only relevant extra style bits to wxPropertyGrid
When extra style bits are set with the call to
wxPropertyGridManager::SetExtraStyle(), only those which are relevant
to wxPropertyGrid should be passed to the underlying property grid object.
Because it can happen that not all extra style bits of the underlying
wxPropertyGrid have been effectively changed by call to SetExtraStyle()
(e.g. wxPG_EX_NATIVE_DOUBLE_BUFFERING), we have to get the actual style
bits prior to storing them.
2017-10-18 22:58:21 +02:00
Artur Wieczorek
aaf1d505c6 Rely on native double buffering by default in wxPropertyGrid
If the platform has native double-buffering, instruct wxPropertyGrid
to rely on it by default.

Closes #16978.
2017-10-17 21:13:45 +02:00
Artur Wieczorek
cd669aea71 Use GetContentScaleFactor() to obtain the scale of the back buffer
GetContentScaleFactor() is implemented on all platforms and therefore
can be used to obtain the proper scale not only under wxOSX.
2017-10-17 20:32:29 +02:00
Paul Cornett
cd1c3fab0c Use static linkage for various local names 2017-09-24 09:29:26 -07:00
Artur Wieczorek
97b6244748 Fix positioning of TextCtrlEditor in wxPG (wxOSX), cont.
By mistake, improper value was used in 836bbcbfcb.
2017-07-16 20:57:38 +02:00
Artur Wieczorek
6395e7805a Fix repositioning of active property editor in wxPG
When there is open an editor for some property and in the same time
wxPropertyGrid layout is changed (due to the adding or removing a property,
sorting), it is necessary to recalculate the actual position of the active
editor to display it in the cell dedicated for the edited property. Under
some platforms the position of the edit control is shifted within the cell
and we have to take this shift into account in repositioning process.
Because actual value of the shift depends on the platform and on
the particular control, it is convenient to determine actual shift when
the editor is created and use this value whenever repositioning is done.

Close #17912.
2017-07-16 19:38:08 +02:00
Artur Wieczorek
dd9c08447e Fix positioning of ComboBoxEditor in wxPG (wxOSX)
Position of the combo box editor associated with properties having custom
bitmaps like e.g. ColourProperty, needs to be adjusted in order to display
edited text at the same position as the text which is displayed as
a property value prior to the editing.
2017-07-16 19:13:37 +02:00
Artur Wieczorek
836bbcbfcb Fix positioning of TextCtrlEditor in wxPG (wxOSX)
Position of the editor associated with properties like StringProperty,
IntProperty, etc. needs to be adjusted in order to display edited text
at the same position as the text which is displayed as a property value
prior to the editing.
2017-07-16 19:12:20 +02:00
Artur Wieczorek
9994288688 Fix positioning of ComboBoxEditor in wxPG (wxGTK)
Position of the combo box editor associated with properties having custom
bitmaps like e.g. ColourProperty, needs to be adjusted in order to display
edited text at the same position as the text which is displayed as
a property value prior to the editing.
2017-07-16 19:09:18 +02:00
Artur Wieczorek
3212f7eab9 Fix positioning of TextCtrlEditor in wxPG (wxGTK)
Position of the editor associated with properties like StringProperty,
IntProperty, etc. needs to be adjusted in order to display edited text
string at the same position as the text which is displayed as a property
value prior to the editing.
2017-07-16 19:03:38 +02:00
mikek
2d8657d37c Fix escaping/unescaping in wxLongStringProperty
wxPropertyGrid::ExpandEscapeSequences() function should convert all valid
escape sequences (\r, \n, \t, \\) to the corresponding single characters
(CR, LF, TAB, backslash, accordingly) and
wxPropertyGrid::CreateEscapeSequences() function should do the reverse
operation and convert these raw characters to the corresponding escape
sequences.

Closes #17896.
2017-07-06 23:14:08 +02:00
JulianSmart
7505ccfd6d Find focus for comboboxes 2016-10-17 12:41:58 +01:00
Artur Wieczorek
c3fa684a27 Fixed displaying validation error for numeric wxPG properties (wxUIntProperty, etc.)
When entered wxFloatProperty, wxIntProperty or wxUIntProperty is out of range then there is displayed a warning message presenting a valid range. Instead of displaying in this message numeric values in default (and fixed) format we should display values which are formatted based on to the current attributes of the property (like wxPG_UINT_PREFIX, wxPG_UINT_BASE, wxPG_FLOAT_PRECISION).
To do so, we shouldn't format respective values on our own in NumericValidation() but instead call wxPGProperty()::ValueToString() which returns value string formatted in line with attributes.

Closes #17601
2016-07-21 23:13:16 +02:00
Artur Wieczorek
6e97a2cbf2 Fixed displaying wxUIntProperty value
In the edit mode property's value should be displayed in the pure numeric form without any textual prefixes because all non-numeric characters will raise a warning in wxNumericPropertyValidator.
2016-07-21 23:11:33 +02:00
Artur Wieczorek
e9af6d6ec7 Fixed setting/unsetting wxPGProperty as read-only.
Don't do any action only if property is exactly in the same state as required (and action is requested for single property only).
2016-07-11 21:44:49 +02:00
Artur Wieczorek
97713c12d7 Fixed setting wxPGProperty label
If wxPropertyGrid has wxPG_AUTO_SORT flag set then renaming the label of any property can change the order of displayed properties including this one which is currently selected. To be properly displayed in the new location this selected property has to be refreshed separately.
2016-07-11 21:44:48 +02:00
Artur Wieczorek
9be1251f02 Modified methods used to set/unset wxPGProperty as read-only and to hide/show it.
If there is requested to set/unset a single property (without recursion) as a read-only (wxPropertyGridInterface::SetPropertyReadOnly) or to hide/show it (wxPropertyGridInterface::HideProperty) then first check if property is already in the requested state and if so do nothing. This prevents from unneeded refreshing of the display.
2016-07-08 19:51:02 +02:00
Artur Wieczorek
4f1e3b7172 Fixed setting colours of wxPGProperty
When wxPGProperty's text or background colours are modified with dedicated wxPropertyGridInterface utility functions (SetPropertyBackgroundColour, SetPropertyTextColour, SetPropertyColoursToDefault) then it is enough to redraw the property with new colours because its internal state remains unmodified and full refreshing is not necessary.

Closes #17588
2016-07-08 19:44:32 +02:00
JulianSmart
3d8f9517f3 Compare window size size with scaled buffer size 2016-07-01 11:36:30 +01:00
Marek Temnyak
d4460435d9 Make source string const in wxPropertyGrid escape sequence methods
Source string is not changed in {Expand,Create}EscapeSequences() methods, so
make it const.

Closes https://github.com/wxWidgets/wxWidgets/pull/271
2016-04-14 16:05:10 +02:00
Jouk
7255a8fb7f Updated compile support for OpenVMS 2016-04-07 10:44:48 +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
Artur Wieczorek
21d8fd8677 Use Boolean value directly instead of executing conditional statement. 2016-03-14 21:05:39 +01:00
Vadim Zeitlin
b0445661b1 Avoid harmless MSVC warning about implicit bool conversion
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.
2016-03-07 02:15:58 +01:00
Artur Wieczorek
31ab9d8f3f Make pointer to wxWindow a const argument.
State of referenced window is not going to be changed and let caller know about it.
2016-03-06 21:26:14 +01:00
Artur Wieczorek
ff788f05bb Move duplicated code to the shared function.
Code to calculate label width in wxPropertyCategory::GetTextExtent and CalculateTextExtent is duplicated.
2016-03-06 21:21:19 +01:00
Artur Wieczorek
8b44873690 Use Boolean value directly instead of executing conditional statement. 2016-03-06 21:20:11 +01:00
Paul Cornett
01ccff2e05 Avoid comparing address of reference to NULL
As GCC 6 points out, the compiler is free to assume a reference is never
null, and remove such a check
2016-02-26 10:06:26 -08:00
Artur Wieczorek
3cc8b4ae37 wxBitmap::UseAlpha can be used only on wxMSW and wxOSX.
This method is not implemented on all ports.
2016-02-25 22:56:47 +01:00
Artur Wieczorek
85bad08373 Fix wxPropertyGrid compilation when wxUSE_TOOLBAR==0
Don't use toolbar associated with wxPG in this case.
2016-02-25 21:37:27 +01:00
Artur Wieczorek
0d30db33e1 Fix build failures on some platforms after 7be75892.
Add header files to have full declarations of wxMemoryDC and wxMetafileDC which are apparently necessary on some platforms for wxDynamicCast.
2015-11-29 09:25:19 +01:00
Artur Wieczorek
7be75892a3 Fixed drawing colours with alpha in wxSystemColourProperty (wxPG).
For systems which don't support drawing with alpha on standard DC (like e.g. Win, GTK2) there is necessary to use graphics context for this purposes.
2015-11-27 21:36:21 +01:00
Artur Wieczorek
363492e50b Fix initialization of custom colours for colour dialog in wxSystemColourProperty::QueryColourFromUser.
Use number of custom colours taken from wxColourData instead of using explicit numeric value.
2015-11-18 20:16:06 +01:00
Artur Wieczorek
17d5429276 Fix choosing custom colour with opacity in wxColourProperty (wxPG).
Invoke colour dialog with opacity option enabled when wxColourProperty is used with alpha support enabled (wxPG_COLOUR_HAS_ALPHA attribute is set).
2015-11-18 20:13:24 +01:00
JulianSmart
76190de960 Only use scaled content factor for bitmaps on Mac 2015-11-15 18:54:10 +00:00
JulianSmart
a797c9d956 Make wxBitmap ctors consistent wrt passing scale for conversion from wxImage; HiDPI adaptation for propgrid buffer and wxRTC images 2015-11-15 12:49:25 +00:00
Artur Wieczorek
5619e7f964 Use wxSwap function to swap values of array elements in wxPGArrayStringEditorDialog::ArraySwap. 2015-08-30 19:49:29 +02:00
Artur Wieczorek
d6f2264f8b Use Boolean variable to store Boolean value. 2015-08-30 19:48:09 +02:00