Commit Graph

86 Commits

Author SHA1 Message Date
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
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
8b44873690 Use Boolean value directly instead of executing conditional statement. 2016-03-06 21:20:11 +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
15d8dae6ff Use IsOk() function to check whether wxBitmap is valid.
Use dedicated function instead of comparing wxBitmap instance with wxNullBitmap.
2015-07-17 22:26:38 +02:00
Artur Wieczorek
4398e20655 Use wxDefaultCoord instead of explicit -1 value while initializing wxSize and wxPoint variables. 2015-07-15 21:45:08 +02:00
Artur Wieczorek
b2af64faaf Use variable of type wxEventType to store value returned by GetEventType function.
Since wxEvent::GetEventType() returns wxEventType value, the variable used to hold returned value should be also of this type.
2015-07-06 20:43:28 +02:00
Artur Wieczorek
aeed3322f2 Fixed minor typos in comments. 2015-06-08 21:49:38 +02:00
Artur Wieczorek
06013ea36f Reduce the scope of variables using to index single loop only.
And adjust their types if necessary.
2015-06-06 17:55:39 +02:00
Artur Wieczorek
85a76d2d61 Fix calculating width of columns in the wxPG header.
When calculating widths of columns in the header there is necessary to take into account also width of the vertical scrollbar in the grid, if it exists. When scrollbar is ignored in calculations then we get wrong width of internal border and in result the columns of the header don't match the columns of the grid (this issue can be observed in the propgrid sample).
2015-06-01 20:19:11 +02:00
Artur Wieczorek
2d5beca260 Refactor: share duplicated code in the internal class wxPGHeaderCtrl.
Because code responsible for determining widths of all columns is duplicated in OnPageUpdated() and OnColumWidthsChanged() methods it can be moved to the new shared method DetermineAllColumnWidths().
Method DetermineColumnWidth() used now to determine width of the one column only is no longer necessary and can be removed.
2015-06-01 20:06:58 +02:00
Artur Wieczorek
7d6f71bc5e Replaces references to wxS("") with wxEmptyString in wxPG. 2015-05-31 19:20:14 +02:00
Artur Wieczorek
67bfb78ace Replace wxT() with wxS() in wxPropertyGrid code. 2015-05-31 19:20:11 +02:00
Artur Wieczorek
65dee275f2 Fix minor typos in comments. 2015-05-30 20:12:02 +02:00
Artur Wieczorek
0508087ce2 Reduce the scope of variables using to indexing single loop only.
And adjust their types if necessary (to have uniform types in the test expression).
2015-05-28 19:39:14 +02:00
Artur Wieczorek
6908275ed2 Use wxDynamicCast() instead of IsKindOf() checks. 2015-05-28 19:20:12 +02:00
Artur Wieczorek
bb27596219 Use wxPropertyGridPage::GetToolId() getter to get tool ID.
Use it instead of getting direct access to the corresponding member variable.
2015-05-26 21:15:19 +02:00
Artur Wieczorek
a6bdfa7fd0 Use variable of type wxEventType to store the value returned by GetEventType function.
Since wxEvent::GetEventType() returns wxEventType value the variable used to hold returned value should be also of the same type.
2015-05-26 21:13:13 +02:00
Artur Wieczorek
be69f99317 Use getter functions to get access to some properties of wxPropertyGridPageState, cont.
Use existing DoGetRoot(), GetRoot(), GetVirtualWidth() functions instead of getting direct access to the corresponding member variables.
2015-05-25 22:48:47 +02:00
Artur Wieczorek
09a78c77d0 Fix assertion statement in wxPropertyGridManager::GetPageRoot.
Simple wxASSERT should be replaced with wxCHECK_MSG to return NULL if index is out range.
2015-05-24 20:33:15 +02:00
Artur Wieczorek
c79232b5e7 Use getter functions to get access to some properties of wxPropertyGrid.
Use existing GetFontHeight(), GetRowHeight(), GetCaptionFont(), GetMarginWidth(), HasFlag(), GetParent() functions instead of getting direct access to corresponding member variables.
2015-05-23 18:30:22 +02:00
Artur Wieczorek
74c04c0179 Use accessor functions to modify wxPG internal flags.
Use wxPropertyGrid::SetInternalFlag and ClearInternalFlag functions to set/clear appropriate internal flags instead of doing direct modifications on the member variable.
2015-05-23 18:28:32 +02:00
Artur Wieczorek
204a3d229c Use symbolic constants instead of numeric ones to represent masks filtering window style flags in wxPG. 2015-05-23 18:26:05 +02:00
Artur Wieczorek
5c3fbc6e4d Use variable of type long to store a style flags returned by GetWindowStyleFlag function.
Since wxWindowBase::GetWindowStyleFlag() returns long the variable used to hold returned value should be also of the same type.
2015-05-23 18:24:03 +02:00
Artur Wieczorek
a39311bc2d Use HasExtraStyle() function to examine extra wxPG flags.
This dedicated function to check the extra flag is used instead of doing explicit check of the value returned by GetExtraStyle() function.
2015-05-21 20:10:26 +02:00
Artur Wieczorek
7394dd8e1f Allow wxPG to take focus on the entire area even if wxPG is not a standalone control.
By default, to prevent wxPG from stealing focus from other controls, focus is moved to the grid only if it was already in one of its child controls.
When newly introduced wxPG_EX_ALWAYS_ALLOW_FOCUS flag is set then wxPG can take focus on the entire grid area (on canvas) even if focus is moved from another control.
Default wxPG behavior remains unchanged because wxPG_EX_ALWAYS_ALLOW_FOCUS flag must be explicitly set with wxPropertyGrid::SetExtraStyle function.

Closes #16993.
2015-05-21 18:51:37 +02:00
Artur Wieczorek
4b8e8adf16 Use wxString::empty() function calls to determine if string is empty in wxPG.
Use this dedicated function instead of explicitly check if wxString::length() returns non-zero value.
2015-05-15 22:34:25 +02:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Artur Wieczorek
6d3fd35d0c Check if wxPGProperty is visible when it is attempted to refresh it.
Check if property page state (not its parent state) is the same as selected page state before refreshing.

Closes #16922.
2015-04-04 10:16:53 +02:00
Artur Wieczorek
1b0d09e5be Do not actually reconnect PG event handlers when attempting to reconnect them to the same window.
When in wxPropertyGridManager::ReconnectEventHandlers() new window ID is the same as old window ID then there is no need to do anything with handlers. An assertion warning is displayed in this case to notify about this unusual (and maybe unintended) situation.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78321 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-27 11:30:45 +00:00
Artur Wieczorek
de2f5898c4 Reconnect wxPropertyGridManager event handlers when wxPG id is changing.
Because some event handlers are bound to the particular id's they need to be reconnected when wxPG id is the subject of change.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78259 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-09 17:07:59 +00:00
Artur Wieczorek
07371fcd56 Define wxPG toolbar event handler only if library is compiled with toolbar classes.
Include wxPropertyGridManager::OnToolbarClick() code only if wxUSE_TOOLBAR is set to 1.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78214 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-03 17:01:35 +00:00
Artur Wieczorek
922bef4df6 Restore wxPG toolbar buttons state if selecting wxPG page was unsuccessful.
Toolbar button corresponding to the unsuccessfully selected page should be released and button corresponding to the old page should be pressed again.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-12-03 16:59:11 +00:00
Artur Wieczorek
c6c08c9484 Make more realistic estimation of the best size of wxPropertyGridManager.
Current best size (especially width) of wxPropertyGrid Manager is too small. wxPG manager should be wide enough to hold wxPG with two columns and scroll bar.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78151 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-15 17:39:34 +00:00
Artur Wieczorek
9c74163386 Fix setting initial size of wxPropertyGridManager.
wxPG manager is now created with proper size (based on its best size) even if default size is requested. (r78149 is a prerequisite for this patch.)

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78150 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-15 17:27:24 +00:00
Artur Wieczorek
c0e2e0c5d8 Fix adding/removing categorized/alphabetic mode buttons in wxPropertyGridManager.
Modify wxPropertyGridManager::RecreateControls() to allow adding/removing categorized/alphabetic mode buttons to/from wxPG manager tool bar at any time (not only when creating the tool bar).
Modify wxPropertyGridManager::SetExtraStyle() to fully support manipulating these buttons via wxPG_EX_MODE_BUTTONS flag.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78149 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-15 17:14:39 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Vadim Zeitlin
fb730c32b4 Override Do{Freeze,Thaw}() instead of {Freeze,Thaw}() in wxPropGrid code.
{Freeze,Thaw}() themselves are not virtual any more, so overriding them
doesn't really work and it is unnecessary to reimplement the reference
counting already done by the base class anyhow, so override the DoXXX()
versions instead.

Closes #15877.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75640 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-17 18:56:13 +00:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
0ed8f52acd Put "#if wxUSE_TOOLBAR" around a variable only used in this case.
No real changes.

Closes #14957.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73397 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-20 02:09:27 +00:00
Vadim Zeitlin
d57d0505d4 Update header control when wxPropertyGridManager is resized.
Closes #14762.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-19 22:03:47 +00:00
Vadim Zeitlin
f33230391a Fix spelling in the comments in wxPropertyGrid code.
No real changes.

Closes #14645.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-09-14 22:26:54 +00:00
Vadim Zeitlin
80a4659776 Use wxCLASSINFO() instead of deprecated CLASSINFO().
No real changes, just use the version of the macro with a "wx" prefix.

Closes #14356.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71625 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-06-01 11:01:24 +00:00
Julian Smart
216b59c66a Added wxPropertyGridManager::SetPageSplitterLeft
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-18 20:35:01 +00:00
Julian Smart
26412151db When SetSplitterLeft measures all pages, it should also set the splitter for all pages.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-03-07 12:21:20 +00:00
Dimitri Schoolwerth
6636ef8ddf Use wxString's empty() when checking if the string is (non-)empty throughout wx.
Instead of constructs such as if "( s.length() )" and "if (s.length() > 0)" use "if ( !s.empty() )" instead. Similarly for "if (s.length() == 0)" or "if ( s.IsNull() )", use "if ( s.empty() )".
No code changes intended except for a few instances where a construct like "if ( s.length() && wxFileExists(s) )" was changed to not check the length of the string and let wxFileExists handle such cases.



git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66728 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-22 14:38:36 +00:00
Jaakko Salli
538f4dd82b No longer use semi-static IDs for wxPropertyGrid embedded controls and tool bar tools.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66456 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-27 11:17:40 +00:00