Commit Graph

93 Commits

Author SHA1 Message Date
Artur Wieczorek
cc575a7a89 Use in wxPG classes wxMilliClock_t variables to store values returned by wxGetLocalTimeMillis() function.
wxMilliClock_t is always mapped to the proper base type and hence can be used even if wxLongLong type is not defined (when wxUSE_LONGLONG is disabled).
2015-04-03 21:11:15 +02:00
Artur Wieczorek
4e7fbd4e92 Use predefined constants to represent wxPG variant types.
Instead of using individual string literals use globally defined constants representing wxPG variant types.
2015-03-29 21:42:58 +02:00
Artur Wieczorek
5353a00180 Use wxVariant::IsType() function to check the type of variant values in wxPG.
Since there is a dedicated function to check the type of variant then there is not necessary to call wxVariant::GetType() function and perform explicit comparisons of returned strings.
2015-03-29 21:41:52 +02:00
Lauri Nurmi
8a2ccd9cf7 Fix spelling of occur* in random files. 2015-02-21 20:01:23 +02:00
Artur Wieczorek
1127820164 Encapsulate wxPGProperty::m_children member variable.
Implement RemoveChild and SortChildren methods to perform operations on m_children member variable.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78428 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-31 21:49:01 +00:00
Artur Wieczorek
da0f4ce29e Use getter methods to get access to wxPGProperty member variables.
Use GetValueImage() getter to get access to m_valueBitmap data member.
Use GetMaxLength() getter to get access to m_maxLen data member.
Use GetAttributes() getter to get access to m_attributes data member.
Use GetChoices() to get access to m_choices data member.
Use GetDepth() to get access to m_depth member variable.
Use GetBaseName() method to get access to m_name data member
Use GetLabel() method to get access to m_label member variable.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78427 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-31 21:45:24 +00:00
Artur Wieczorek
7a9ae4aecf Fix using WXWIN_COMPATIBILITY_3_0 in conditional blocks in wxPG code.
Check the value of WXWIN_COMPATIBILITY_3_0 instead of checking whether it is defined.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78369 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2015-01-13 16:41:33 +00:00
Artur Wieczorek
460b24e486 Fix adjustment of columns width in response to splitter position change in wPG.
In wxPropertyGridPageState::PropagateColSizeDec recursion is replaced with iteration and there is handled PG with more then 2 columns.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-18 16:34:16 +00:00
Artur Wieczorek
cbb28b1f4d Reset current category marker if deleted wxPG property is a category property.
If deleted category or its sub-category is a current category then reset current category marker.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78112 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-10 16:46:16 +00:00
Artur Wieczorek
54c7eb3c56 Invalidate wxPG property and its sub-properties names prior deferred deletion.
If deleted property is a category property then all its sub-properties have to be renamed prior deleting.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78111 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-10 16:41:07 +00:00
Artur Wieczorek
774a58ff20 Use Boolean variable to store Boolean values.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78104 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-08 18:12:53 +00:00
Artur Wieczorek
d6e23dd99b Do not mark selected wxPG property as 'being deleted'.
Only unselected wxPG property can be marked as 'being deleted'.
If this is done for selected wxGP property then in some circumstances it cannot be unselected and hence cannot be safely deleted.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78091 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-11-04 19:23:01 +00:00
Artur Wieczorek
8a971c12ad Fix deleting wxPG properties with sub-properties.
If property contains sub-properties they should be deselected prior deleting the property.

See #16617.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78083 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-31 16:04:44 +00:00
Artur Wieczorek
fd9d67e9f4 Get wxPGProperty items to be deleted with deferral directly from the corresponding internal list of items.
Don't use iterator to collect wxPGProperty items in wxPropertyGridPageState::DoClear().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78069 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-25 12:35:14 +00:00
Artur Wieczorek
633b49ef6e Prevent renaming already renamed wxPG property waiting for deferred deletion.
Name of the property to be deleted with delay is changed to the some meaningless name in order to avoid conflict with other active properties.
It is enough to do this only once.

See #16617

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-16 22:33:33 +00:00
Artur Wieczorek
b10b027423 Fix clearing wxPG
Properties deleted immediately in wxPropertyGridPageState::DoClear() should be first removed from the lists of pending deletions.

Closes #16617

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78014 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-10-13 07:19:58 +00:00
Artur Wieczorek
89364e95b9 In wxPropertyGridPageState use Boolean member variables to store Boolean values.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-09-25 17:29:50 +00:00
Artur Wieczorek
7e859ec6c9 Fix drawing custom colours for wxEnumProperty choice items in wxPG.
In order to draw choice items with custom colours there is necessary to merge custom cell object (wxPGCell) associated with individual item with default cell object (in wxPGProperty::GetDisplayInfo).
wxPGProperty::GetDisplayInfo function should return customized cell object instead of returning pointer to the default cell object only.

Closes #16509

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-29 21:17:16 +00:00
Artur Wieczorek
1cef1d91e5 Fix deleting (from within wxPG event handler) properties not belonging to the current PG page.
Currently, it is not possible to remove properties from the page other then currently selected.
The scope of iterator used in wxPropertyGridPageState::DoClear() to enumerate properties must be limited to the required page and not always to the selected one.

Closes #16459

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77486 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-26 22:58:39 +00:00
Artur Wieczorek
1443209219 Fix deleting aggregate properties from within wxPG event handler.
Do not explicitly remove sub-properties of aggregate property because they will be removed automatically in their parent property dtor.

See #16459

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-26 22:54:01 +00:00
Artur Wieczorek
1a2983d433 Resolve ambiguity in multiple inheritance of function GetPropertyByLabel in wxPGPage.
In wxPropertyGridPage class derived from wxPropertyGridPageState and wxPropertyGridInterface, function GetPropertyByLabel is inherited from both base classes.
To resolve this ambiguity, function defined in wxPGInterface is introduced in wxPGPage through 'using-declaration'.
(This is a temporary fix and finally GetPropertyByLabel function should be removed from wxPropertyGridPageState.)

See #15251.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76925 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-14 17:18:58 +00:00
Artur Wieczorek
0228d578ee Allow clearing wxPG from within wxPG event handlers.
If wxPG::Clear is called from within event handler then it is not possible to delete all property items directly because some vital internal wxPG data are still in use. In this case it is necessary to put all items on the list for deferred deletion in wxPG idle state.

Closes #16222.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76890 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-11 17:25:39 +00:00
Artur Wieczorek
c16808c380 Adjust list of items for deferred deletion/removal if wxPG property item is actually deleted/removed.
When property is actually deleted/removed it must be also removed from the respective list of items for deferred deletion/removal in order to avoid crashes when it would be attempted to delete/remove it again at next wxPG idle state.
Because lists of items for deferred operations can be updated at every actual deletion/removal it is necessary to rearrange iteration through these lists in wxPG::OnIdle.

See #16222.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76889 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-11 17:01:28 +00:00
Artur Wieczorek
3048aa50af Prevent duplicating wxPG property items on the list of items for deferred deletion/removal.
It is necessary to prevent duplicating items on the list of items to be deleted/removed later on (in wxPropertyGrid::OnIdle) to avoid crashes when it would be attempted to delete/remove already deleted/removed item.

See #16222.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76888 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-11 16:38:18 +00:00
Paul Cornett
75297d8842 avoid warnings about double-to-float conversion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76293 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-06 19:33:26 +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
33d953e748 Add wxPropertyGridPageState::GetColumnFullWidth().
This method allows to get the full width needed by wxPropertyGrid and is
useful for determining the space to allocate for it, e.g. when creating a
popup showing the property grid, as shown by the changes to the sample.

Closes #15368.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 13:05:42 +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
Dimitri Schoolwerth
4c51a665c6 Fixed various typos.
Applied patch by snowleopard2 fixing a bunch of typos such as misspellings and double words in the documentation. Combined the patch with some local queued typos waiting to be committed as well as adding new typo fixes inspired by the patch.

Function names with American spelling were not changed nor was third-party code touched. The only code changes involve some changes in strings that are translated ("Can not" -> "Cannot").

Closes #13063 (again).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67280 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-22 14:17:38 +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
ed8b46bba3 When wxPGProperty is un-attached from wxPropertyGrid, keep its 'default' cell references invalid/NULL (fixes #12552)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65788 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-10 09:34:29 +00:00
Jaakko Salli
9ceed261f8 Added wxPGProperty::Enable() for conveniency. Refactored related code and improved related documentation.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65216 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-08 11:41:20 +00:00
Vadim Zeitlin
526954c596 Globally use "wxWindows licence" consistently.
Use "wxWindows licence" and not "wxWidgets licence" (the latter doesn't
exist) and consistently spell "licence" using British spelling.

See #12165.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64940 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-13 13:29:13 +00:00
Jaakko Salli
8d2c70414c Added wxPropertyGrid::DedicateKey(), which prevents specific key presses from being eaten by editor controls. This is useful for customizing keyboard navigation. Also added utility function wxPGFindInVector<>(), which is used in the new code, and also in some other places.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-06-12 09:30:57 +00:00
Jaakko Salli
3ded4b22fe Allow wxPGProperty::Hide() to be called on unattached property (see #11987)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-24 10:13:22 +00:00
Jaakko Salli
2ac06991a7 Moved property unattachment code from wxPropertyGridInterface::RemoveProperty() to wxPropertyGridPageState::DoDelete() - fixes deferred removal issue
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63624 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-04 15:09:15 +00:00
Jaakko Salli
9493cc02ee Rename property pending for deletion so it won't be in the way of the user code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63535 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-22 17:04:18 +00:00
Jaakko Salli
f231df8aa8 Property removal and deletion done from wxPropertyGrid event handler is now postponed to idle event
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63534 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-22 16:44:56 +00:00
Jaakko Salli
76733d4cae Fixed auto-resizing behavior when double-clicking a splitter; Added wxPropertyGrid::ResetColumnSizes(); wxPropertyGrid::GetSplitterPosition() got splitterIndex argument
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63502 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-16 16:24:30 +00:00
Jaakko Salli
fe01f16e53 Added wxPropertyGridInterface::SetColumnProportion(); wxPG_SPLITTER_AUTO_CENTER window style now supports column counts higher than two.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-14 14:09:06 +00:00
Jaakko Salli
7261371b17 Do not clear property selection when adding new properties, but instead correct positions of any open editor controls.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-02 15:19:41 +00:00
Jaakko Salli
f525476870 Added wxPropertyGridManager header support; Refactored wxPropertyGrid DoSetSplitterPosition() code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-13 12:00:04 +00:00
Jaakko Salli
9dac189e72 Fixed incorrect use of RemoveAt() in wxPropertyGridPageState::SetColumnCount() (fixes #11539)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62859 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-11 15:50:04 +00:00
Jaakko Salli
2f772c89eb Fix wxPropertyGrid rendering problems when used with wxAUI. It seems we cannot rely on wxWindow::GetRect() to return wxRect with x=0 here. (fixes #11433)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62617 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-11 19:49:58 +00:00
Jaakko Salli
0da1f1c4cc Have page-specific splitter setup flags in order to fix bug that caused splitter change in one page to affect others. Also fixed a regression in splitter auto-centering.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62374 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-11 15:30:03 +00:00
Jaakko Salli
6e82ecf99d Fixed property iterator crash when iterating through 'non-interesting' properties at the edges of the grid.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-06 07:53:53 +00:00
Jaakko Salli
169dc97542 Added check to allow multiple selection by dragging only if property under mouse was adjacent to a property already in the selection.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61838 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-06 07:51:35 +00:00
Vadim Zeitlin
890defb4f3 Correctly determine best wxPropertyGrid width.
Improve wxPropertyGrid::DoGetBestSize() to correctly determine the window
width by using the sum of columns widths.

Also correct wxPropertyGridPageState::GetColumnFitWidth() to account for the
bitmaps.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61796 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-31 21:28:25 +00:00
Jaakko Salli
0ee316821c Made wxPropertyGridHitTestResult a real class (works better that way with SWIG)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61745 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 18:38:13 +00:00
Jaakko Salli
58935d4a5c Added label editing capability into wxPropertyGrid
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-23 15:31:03 +00:00