Commit graph

218 commits

Author SHA1 Message Date
Artur Wieczorek
efa2870cb4 Rename wxPGKeyboardActions type to wxPGKeyboardAction
For regular enumeration singular name is more appropriate.
2024-01-06 22:42:55 +01:00
Artur Wieczorek
ca3acd7a03 Use enum class to implement wxPGPropValFormatFlags as bitmask
This is for better type safety of the flags.
2024-01-06 22:42:38 +01:00
Artur Wieczorek
c8552aec0c Make wxPGPropertyFlags a bitmask
To improve type safety of flags.
2023-12-25 15:09:50 +01:00
Vadim Zeitlin
e43f913313 Remove all blank "Modified by:" lines from top comment blocks
Having this line is not useful at all as it doesn't contain any
information and shouldn't be filled in the future as git-shortlog can
provide the information about people who changed the given file more
more reliably than consulting the comments in any case.

Keep the non-blank lines for historical purposes.
2023-10-22 01:22:48 +02:00
Artur Wieczorek
5a87cbdf3d Use enum class to represent wxPGKeyboardActions 2023-09-22 23:39:53 +02:00
Artur Wieczorek
9cb4d8fbbe Save keyboard actions as std::pair in wxPropertyGrid
Store two possible action codes in std::pair instead of packing them
into one int value with bitmasks. This reduces level of indirection
in accessing keyboard actions and make the code more maintainable.
2023-09-22 23:39:52 +02:00
Ian McInerney
5d0c4066d8 Add operators for boolean conversions to wxPGGlobalVars
The old API allowed for users to directly test the variable and find if
it was null, so recreate that API with the new system to preserve
compatibility.

Closes #23445.
2023-06-03 21:07:40 +02:00
Vadim Zeitlin
ff6201fe1d Fix compilation of propgrid.h included as first header
Forward declare wxTextCtrl used in this file.

Closes #23414.
2023-04-04 17:03:53 +02:00
Artur Wieczorek
8ad0f52da0 Include header with basic wxPGProperty classes in main wxPG header
This header shouldn't be included here but it was included here in
the previous versions of wxPG and user apps can be broken by removing it.
2023-03-15 19:10:02 +01:00
Artur Wieczorek
3142e028b2 Move wxPropertyGrid internal stuff to the separate private header 2023-03-10 23:57:43 +01:00
Vadim Zeitlin
b4ab8de248 Avoid deprecation warnings due to recent wxPropertyGrid changes
Rename the new overload of DoSetSplitterPosition() to use a different
name: not only this avoids deprecation warnings that broke all the CI
builds, but it also makes things more clear and simpler to use as all
the derived classes don't need to override both the deprecated overload
and the new one to avoid warnings about hiding a base class virtual
function and can just override the new one.

Also remove the default value "Refresh" for the flags which seems to be
inconsistent with the default value "Null" used elsewhere and prefer to
specify it explicitly.
2023-02-19 23:38:04 +01:00
Artur Wieczorek
f1273ce152 Use class enums to implement bitmask types
To improve type safety of flags.
2023-02-19 22:36:21 +01:00
Artur Wieczorek
dce28fe788 Mark deprecated variables as used internally
When v3.2 compatibility is enabled all deprecated variables are still
present and initialized.
2023-02-05 20:08:00 +01:00
Artur Wieczorek
159c3b1c6d Don't cache strings and variant values in wxPGGlobalVarsClass
Optimization gain is doubtful but complexity is high.
2023-02-05 19:07:25 +01:00
Vadim Zeitlin
0130282987 Create wxPGGlobalVars on demand and not on startup
This is slightly more efficient as it avoids allocating an object which
is possibly not ever going to be used on startup of any application
linking with the propgrid library (at the price of slower access to this
object, but this should never be done in performance-critical parts of
the code, hopefully) and avoids a problem with losing the previously
registered editors when re-initializing wx modules, as wxPython does.

Closes #23165.

See #23187.
2023-01-31 01:26:54 +01:00
Artur Wieczorek
e7b405ec08 Refactor internal flags in wxPropertyGrid
Move wxPropertyGrid and wxPropertyGridManager internal flags
from global namespace to the corresponding classes.
2023-01-22 20:18:40 +01:00
Artur Wieczorek
5b92a7badc Use constexpr to declare constants in wxPropertyGrid 2023-01-22 20:15:01 +01:00
Artur Wieczorek
4c463c416d Use std::vector instead of wxVector in wxPropertyGrid 2023-01-22 20:11:43 +01:00
Artur Wieczorek
f0b76076f4 Encapsulate data in wxPGValidationInfo
Implement more getters and setters to encapsulate data
in wxPGValidationInfo.
2023-01-06 18:06:38 +01:00
Artur Wieczorek
dec03c5d89 Use dedicated function to get common value label in wxPropertyGrid 2023-01-06 17:51:33 +01:00
Artur Wieczorek
6d9e362b1f Use standard container to store dedicated keys in wxPropertyGrid
Dedicated keys can be stored in std::unordered_set
instead of wxPGHashSetInt.
2023-01-06 17:50:23 +01:00
Artur Wieczorek
81cd35a662 Get rid of unused member variables 2023-01-06 17:31:26 +01:00
Artur Wieczorek
3e5b6b4d66 Use standard containers to handle mappings in wxPropertyGrid
Use unordered_map explicitly (instead of using wxPGHashMapS2P alias).
2023-01-06 17:20:54 +01:00
Artur Wieczorek
37817d7c38 Include unordered_map header 2022-12-30 15:20:45 +01:00
Artur Wieczorek
c24b9476fa Use unordered_map to store action triggers in wxPropertyGrid
Use standard container explicitly (instead of alias wxPGHashMAPI2I).
2022-12-30 15:13:21 +01:00
Artur Wieczorek
357f611a48 Simplify returnig two values from wxPropertyGrid::KeyEventToActions()
Use std::pair to return pair of values from function.
2022-12-30 14:08:15 +01:00
Artur Wieczorek
f1bb6080a2 Store wxPGProperties to be deleted in std::set instead of std::vector
Pointers to wxPGProperties to be deleted/removed are unique
in the collection so they should be stored in std::set.
2022-12-22 20:53:03 +01:00
Artur Wieczorek
0dc13131ed Don't use conditional operators to get results of bitwise operations 2022-12-03 17:15:29 +01:00
Artur Wieczorek
811cdc0ffc Use wxString() rather than wxEmptyString in wxPropertyGrid classes 2022-10-26 13:11:59 +02:00
Artur Wieczorek
2282594f24 Get rid of unnecessary variable assignment 2022-10-26 12:06:57 +02:00
Vadim Zeitlin
4f4c5fcfdf Use nullptr instead of NULL in the code and documentation
This is a combination of running clang-tidy with modernize-use-nullptr
check for some ports (GTK, X11, OSX) and manual changes to the ports for
which it couldn't be used easily (MSW, DFB) and also manually updating
the docs.

Also replace NULL with null or nullptr in the comments as this is more
consistent with the use of nullptr in the code and makes it simpler to
grep for the remaining occurrences of NULL itself.

And also use null in the assert messages.

Only a few occurrences of "NULL" are still left in non-C files, mostly
corresponding to unclear comments or string output which it might not be
safe to change.
2022-10-18 01:25:25 +02:00
PB
88d526660f Replace wxOVERRIDE and wxNOEXCEPT with override and noexcept
Don't use deprecated macros in wxWidgets itself.
2022-10-15 18:10:45 +02:00
Artur Wieczorek
5e2da5a106 Get rid of v2.8 code 2022-08-02 08:26:29 +02:00
Artur Wieczorek
982a720069 Use ctor initializer list to initialize data members 2022-05-30 19:15:36 +02:00
Artur Wieczorek
c09f1c258b Use conditional operators to simplify statements 2022-05-30 19:14:46 +02:00
Artur Wieczorek
e7fac13461 Declare functions as const 2022-05-27 19:13:42 +02:00
Artur Wieczorek
21fe682187 Don't store wxBitmap objects on the heap in wxPropertyGrid
To simplify managing the life cycle of the objects.
2022-05-21 22:08:02 +02:00
Artur Wieczorek
5e417302c5 Don't store wxCursor object on the heap in wxPropertyGrid
To simplify managing the life cycle of the object.
2022-05-21 22:07:42 +02:00
Artur Wieczorek
1c292cfe2c Initialize data members in initialization lists 2022-05-21 22:01:58 +02:00
Artur Wieczorek
93365e02de Use more relevant macros in wxPropertyGrid 2022-01-30 12:06:27 +01:00
Artur Wieczorek
2a536c359c Fix visual state of enabled/disabled wxPropertyGrid
wxPropertyGrid needs to be refreshed while enabling/disabling to display
proper visual states of all wxPGProperty items.
2021-03-12 21:41:40 +01:00
Pavel Tyunin
47d8299c70 Make wxPG_TOOLTIPS work for >2 columns too 2020-09-21 11:27:42 +02:00
Arrigo Marchiori
c86bcf962d Use wxASCII_STR() on string literals
Fix the build with wxNO_IMPLICIT_WXSTRING_ENCODING.
2020-07-17 17:52:16 +02:00
Vadim Zeitlin
d7f19ee610 Fix spelling in comments and documentation using codespell
Apply the utility from https://github.com/codespell-project/codespell/
to fix spelling issues in the headers under both include and interface
directories and add a file with a couple of exceptions.

The exact command line used was:

    $ codespell -w -I misc/scripts/codespell.ignore -i 3 in*
2020-06-27 22:56:22 +02:00
Artur Wieczorek
c4f5fd3581 Move duplicated code to rescale the bitmap to the shared function 2020-04-10 20:45:34 +02:00
Artur Wieczorek
c7c3f337c2 Check index value with CHECK_MSG to avoid crashes 2020-02-09 20:39:06 +01:00
Maarten Bent
a1c3fa0468 Fix wxPropertyGrid row height on DPI change
Fix collapse button size of wxPropertyGrid in High DPI.
2019-10-07 00:54:59 +02:00
Paul Cornett
b200c661ed Fix wxPropertyGrid headers so they can be compiled independently
See #18465
2019-08-15 17:27:07 -07:00
Artur Wieczorek
eca1e857fe Remove unnecessary headers from wxPropertyGrid files
Currently there are included plenty of headers which are apparently not necessary.
2019-08-04 20:20:48 +02:00
Artur Wieczorek
c623d9cfc5 Remove references to unused internal flags 2019-08-04 20:20:48 +02:00