Commit Graph

111 Commits

Author SHA1 Message Date
Artur Wieczorek
f8aacfa02c Optimize allocating default cells in wxPGProperty::EnsureCells
Use embedded 'resize' function to alloc new slots at once instead of doing this in an iterative way.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-29 21:53:27 +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
e58975a7e4 Remove unnecessary assertion in wxPGProperty::GetChoiceSelection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77017 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-06 23:28:40 +00:00
Artur Wieczorek
138297786c Fix wxPGProperty::InsertChoice
Take into account that wxPGProperty::GetChoiceSelection can return either 0 (for wxEnumProperty) or -1 (for other properties) if choice value list is empty and initialize new selection index properly.

See #16401.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-06 13:34:01 +00:00
Artur Wieczorek
0f9ba6c59f Fix wxPGProperty::GetChoiceSelection
Return the index of the integer choice item on the list instead of item value itself.

See #16401.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77011 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-06 13:26:00 +00:00
Artur Wieczorek
7ef4c2d90b Fix regression caused by r76974 (inserting first choice item to wxEnumProperty).
This is a modified way of handling insertion of the first choice item to wxEnumProperty. Previous method based on special value (wxNOT_FOUND) used to indicate empty collection caused regression in wxPGProperty::DeleteChoice(). Currently, the size of the collection is checked directly in wxPGProperty::InsertChoice().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76977 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-02 21:19:41 +00:00
Artur Wieczorek
c632599855 Fix inserting first choice item to wxEnumProperty
Situation when when first choice item is inserted (in wxPGProperty::InsertChoice) to the empty collection must be handled in a special way. In order to do so:
1. The state when there are no choice items in wxEnumProperty object and hence no item is selected must be explicitly indicated (by special index value wxNOT_FOUND).
2. This initial state must be handled in a special way when there is determined new selection index after insertion.

See #16401.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76974 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-01 22:12:53 +00:00
Artur Wieczorek
acba2390e1 Fix wxPGProperty::SetChoiceSelection
When selected choice is changed then set as selected value the value corresponding to the new index, not the index itself.

Closes #16401.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76971 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-01 15:39:23 +00:00
Artur Wieczorek
965224405a Additional assertions in several wxPGProperty methods.
Check if property is attached to the property grid before wxPG methods are invoked. 

See #16401.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76970 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-01 15:19:04 +00:00
Artur Wieczorek
a07734febf Check if PG exists before adding or deleting a choice to wxPGProperty.
Because choice value can be added/deleted also to/from detached property object there is necessary to skip in wxPGProperty::InsertChoice and wxPGProperty::DeleteChoice the operations which are valid exclusively for property attached to the property grid.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76969 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-08-01 15:09:18 +00:00
Artur Wieczorek
8d601fed17 Use the same macro to implement all wxPG property classes.
Currently, WX_PG_IMPLEMENT_PROPERTY_CLASS macro is used to implement most of the property classes (and also property classes in the propgrid sample) but few property classes are implemented in alternative way, using separate IMPLEMENT_DYNAMIC_CLASS and WX_PG_IMPLEMENT_PROPERTY_CLASS_PLAIN macros.
These two macros can be replaced with WX_PG_IMPLEMENT_PROPERTY_CLASS macro (which is a concatenation of both) so property class implementation can be unified.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-07-16 20:10:06 +00:00
Vadim Zeitlin
f4b80e5337 Remove MSVC6 support.
Don't support this compiler any more, this allows to get rid of tons of
MSVC6-specific workarounds, in particular we can now use Bind() and natural
template functions calls in the library code.

Also remove MSVC6 project and solution files and don't generate them when
bakefile_gen is ran any more (removing the remaining occurrences of msvc6prj
from the bakefiles results in weird bake-time errors, so it's simpler to just
leave them there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76532 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-05-15 22:32:17 +00:00
Vadim Zeitlin
c59b815f2c Fix several rounding problems with float values in wxPropertyGrid.
Loss of precision when converting floating point numbers to text and back
could result in several problems, notably comparing a valid value with the
minimum could fail after a round trip through wxSpinCtrl.

Fix this by using a specialization of NumericValidation() handling floating
point values specially and correctly.

Closes #15625.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-22 14:54:54 +00:00
Vadim Zeitlin
5e204ab52e Fix uninitialized variable use in wxPropertyGrid code.
wxPGProperty::GetItemAtY() uses its input/output "nextItem" parameter, so it
must be initialized before calling it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75958 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-21 00:51:55 +00:00
Vadim Zeitlin
26c040dfc6 Fix another wxDOT deprecation warning, this time in wxGTK build.
Use wxPENSTYLE_DOT instead.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 22:50:10 +00:00
Vadim Zeitlin
a49d3f4161 Fix tons of warnings in wxMSW after deprecating wxPen/wxBrush int styles &c.
Replacement of FUTURE_WXWIN_COMPATIBILITY_3_0 with WXWIN_COMPATIBILITY_3_0 in
r75532 resulted in tons of warnings as all code using wxSOLID and similar
constants now uses the deprecated methods taking int instead of the preferred
ones taking wx{Pen,Brush}Style (and similarly for wxFont{Style,Weight,Family}).

Fix all of them but this also would seem to mean that this change might not be
such a good idea at all.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75547 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-04 22:20:36 +00:00
Vadim Zeitlin
9869c26285 Fix wxPropertyGrid::GetPropertyRect when the last item is collapsed.
Return the real height instead of -1.

Closes #15367.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74627 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-08-06 13:05:36 +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
Paul Cornett
7d1214cd72 silence warnings about shadowed variables with GCC -Wshadow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 15:55:06 +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
Vadim Zeitlin
026f3f9bc3 Fix warnings about implicit double to int conversions in propgrid.
Use wxRound() instead of implicit casts to convert double to int. This not
only avoids warnings (e.g. when using g++ with -Wconversion) but also should
be (marginally) more precise.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-04 16:43:40 +00:00
Jaakko Salli
1d8340b956 Allow wxPGProperty::IsChildSelected() to work recursively
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67768 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-20 14:26:17 +00:00
Jaakko Salli
a6ca624a27 Fixed a bug: Disabling a property didn't work properly if a child item was selected.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-09 19:44:40 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Dimitri Schoolwerth
e3778b4d9c No code changes, fixed some typos.
Changed several occurrences of "it's" where "its" is meant, as well as a few other minor typos.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-30 10:57:04 +00:00
Jaakko Salli
0429e043a8 Include image.h and check for wxUSE_IMAGE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67043 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-27 08:51:01 +00:00
Jaakko Salli
28e27c3475 In wxPGProperty::SetValueImage(), use wxImage::Rescale() for scaling down the bitmap instead of wx(Memory)DC functions. Results should look much nicer and also retains alpha channel with much less effert.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-25 13:00:57 +00:00
Stefan Csomor
df04f800b8 supporting clang 2.0 under xcode, see #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 11:00:26 +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
ace9bc2697 Always call OnSetValue() for a property when values are being set for its children (fixes #12085)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64391 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-24 13:09:36 +00:00
Jaakko Salli
75ac0891d8 Change wxPGProperty::SetChoices() to accept 'const wxPGChoices&'
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-06 17:42:26 +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
6cf5edea27 Use explicit wxPGPropertyFlags enum type with wxPGProperty::SetFlag() and similar member functions (thus preventing use of incorrect set of flags). Also now document wxPGProperty flags.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-17 18:17:19 +00:00
Jaakko Salli
e4e55c061f Have to implement wxPGProperty::DeleteChildren() differently so that it will work with deferred property deletion
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-01 15:30:03 +00:00
Jaakko Salli
26b22ae371 Must clear property selection in wxPGProperty::SetChoices() or risk a crash
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63562 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-26 15:45:30 +00:00
Jaakko Salli
e16bff8e62 Changed wxPropertyCategory to use same cell rendering code as regular properties. This allows labels for category columns other than the first. Rendering code was heavily modified to allow 'merging' of cells when needed.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-29 16:04:40 +00:00
Jaakko Salli
534090e354 Replaced 'InlineHelp' property attribute with 'Hint'; Use SetHint() wxTextCtrl and wxComboCtrl member function to set it; Added a small section about help string and hint text in propgrid overview
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62990 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-26 10:45:04 +00:00
Jaakko Salli
3e6d8c3118 Added wxPropertyGrid::SetUnspecifiedValueAppearance(); Added wxPGEditor::SetControlAppearance() for applying wxPGCell attributes on a property editor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62973 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-22 16:12:02 +00:00
Jaakko Salli
68174df30e Added wxPropertyGrid::GetUnspecifiedValueText(). Use it instead of assuming that the unspecified value text is always an empty string.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62955 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-20 12:48:41 +00:00
Jaakko Salli
01c226691a Fixed display of 'InlineHelp' attribute
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62902 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-16 18:59:46 +00:00
Jaakko Salli
5ff9067686 Determine better whether the property editor needs to be refreshed in wxPGProperty::SetValue()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-14 15:33:50 +00:00
Jaakko Salli
5900bb7c5f Fixed unspecified property value rendering for various editor types (including check box)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-14 15:12:29 +00:00
Paul Cornett
a243da29c8 make array data fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-02 17:28:45 +00:00
Jaakko Salli
e607eac25c Changed 'bool recursively' to 'int flags' argument (with default value of wxPG_RECURSE) in wxPropertyGrid Set(Property)BackgroundColour() and Set(Property)TextColour() member functions.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62416 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-15 16:39:19 +00:00
Jaakko Salli
50355f75e5 Fixed regression: wxPropertyGrid caption selection rectangle was drawn at incorrect horizontal offset.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62415 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-15 14:49:08 +00:00