X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0429e043a80dface19685cd612a400df34c50d59..728799ae114463b67bccc753877af851ab1666fd:/src/propgrid/property.cpp diff --git a/src/propgrid/property.cpp b/src/propgrid/property.cpp index f878d4ddda..bafa791fc4 100644 --- a/src/propgrid/property.cpp +++ b/src/propgrid/property.cpp @@ -4,7 +4,6 @@ // Author: Jaakko Salli // Modified by: // Created: 2008-08-23 -// RCS-ID: $Id$ // Copyright: (c) Jaakko Salli // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -24,6 +23,7 @@ #include "wx/hash.h" #include "wx/string.h" #include "wx/log.h" + #include "wx/math.h" #include "wx/event.h" #include "wx/window.h" #include "wx/panel.h" @@ -47,7 +47,7 @@ #if wxPG_COMPATIBILITY_1_4 -// Used to establish backwards compatiblity +// Used to establish backwards compatibility const char* g_invalidStringContent = "@__TOTALLY_INVALID_STRING__@"; #endif @@ -158,7 +158,7 @@ int wxPGCellRenderer::PreDrawCell( wxDC& dc, const wxRect& rect, const wxPGCell& dc.SetFont(font); const wxBitmap& bmp = cell.GetBitmap(); - if ( bmp.Ok() && + if ( bmp.IsOk() && // Do not draw oversized bitmap outside choice popup ((flags & ChoicePopup) || bmp.GetHeight() < rect.height ) ) @@ -276,7 +276,7 @@ bool wxPGDefaultRenderer::Render( wxDC& dc, const wxRect& rect, propertyGrid->GetCellDisabledTextColour(); dc.SetTextForeground(hCol); - // Must make the editor NULL to override it's own rendering + // Must make the editor NULL to override its own rendering // code. editor = NULL; } @@ -327,7 +327,7 @@ wxSize wxPGDefaultRenderer::GetImageSize( const wxPGProperty* property, { wxBitmap* bmp = property->GetValueImage(); - if ( bmp && bmp->Ok() ) + if ( bmp && bmp->IsOk() ) return wxSize(bmp->GetWidth(),bmp->GetHeight()); } } @@ -499,7 +499,7 @@ void wxPGProperty::InitAfterAdded( wxPropertyGridPageState* pageState, // (so propgrid can be NULL, too). wxPGProperty* parent = m_parent; - bool parentIsRoot = parent->IsKindOf(CLASSINFO(wxPGRootProperty)); + bool parentIsRoot = parent->IsKindOf(wxCLASSINFO(wxPGRootProperty)); // // Convert invalid cells to default ones in this grid @@ -1034,7 +1034,7 @@ bool wxPGProperty::IntToValue( wxVariant& variant, int number, int WXUNUSED(argF } // Convert semicolon delimited tokens into child values. -bool wxPGProperty::StringToValue( wxVariant& variant, const wxString& text, int argFlags ) const +bool wxPGProperty::StringToValue( wxVariant& v, const wxString& text, int argFlags ) const { if ( !GetChildCount() ) return false; @@ -1239,7 +1239,7 @@ bool wxPGProperty::StringToValue( wxVariant& variant, const wxString& text, int } if ( changed ) - variant = list; + v = list; return changed; } @@ -1297,7 +1297,7 @@ void wxPGProperty::OnCustomPaint( wxDC& dc, { wxBitmap* bmp = m_valueBitmap; - wxCHECK_RET( bmp && bmp->Ok(), wxT("invalid bitmap") ); + wxCHECK_RET( bmp && bmp->IsOk(), wxT("invalid bitmap") ); wxCHECK_RET( rect.x >= 0, wxT("unexpected measure call") ); @@ -2020,11 +2020,11 @@ const wxPGEditor* wxPGProperty::GetEditorClass() const if ( GetDisplayedCommonValueCount() ) { // TextCtrlAndButton -> ComboBoxAndButton - if ( editor->IsKindOf(CLASSINFO(wxPGTextCtrlAndButtonEditor)) ) + if ( wxDynamicCast(editor, wxPGTextCtrlAndButtonEditor) ) editor = wxPGEditor_ChoiceAndButton; // TextCtrl -> ComboBox - else if ( editor->IsKindOf(CLASSINFO(wxPGTextCtrlEditor)) ) + else if ( wxDynamicCast(editor, wxPGTextCtrlEditor) ) editor = wxPGEditor_ComboBox; } @@ -2091,7 +2091,7 @@ void wxPGProperty::SetValueImage( wxBitmap& bmp ) { delete m_valueBitmap; - if ( &bmp && bmp.Ok() ) + if ( &bmp && bmp.IsOk() ) { // Resize the image wxSize maxSz = GetGrid()->GetImageSize(); @@ -2103,8 +2103,8 @@ void wxPGProperty::SetValueImage( wxBitmap& bmp ) // Here we use high-quality wxImage scaling functions available wxImage img = bmp.ConvertToImage(); double scaleY = (double)maxSz.y / (double)imSz.y; - img.Rescale(((double)bmp.GetWidth())*scaleY, - ((double)bmp.GetHeight())*scaleY, + img.Rescale(wxRound(bmp.GetWidth()*scaleY), + wxRound(bmp.GetHeight()*scaleY), wxIMAGE_QUALITY_HIGH); wxBitmap* bmpNew = new wxBitmap(img, 32); #else @@ -2198,7 +2198,7 @@ int wxPGProperty::GetY2( int lh ) const for ( parent = GetParent(); parent != NULL; parent = child->GetParent() ) { if ( !parent->IsExpanded() ) - return -1; + return parent->GetY2(lh); y += parent->GetChildrenHeight(lh, child->GetIndexInParent()); y += lh; child = parent; @@ -2569,6 +2569,25 @@ void wxPGProperty::DeleteChildren() } } +bool wxPGProperty::IsChildSelected( bool recursive ) const +{ + size_t i; + for ( i = 0; i < GetChildCount(); i++ ) + { + wxPGProperty* child = Item(i); + + // Test child + if ( m_parentState->DoIsPropertySelected( child ) ) + return true; + + // Test sub-childs + if ( recursive && child->IsChildSelected( recursive ) ) + return true; + } + + return false; +} + wxVariant wxPGProperty::ChildChanged( wxVariant& WXUNUSED(thisValue), int WXUNUSED(childIndex), wxVariant& WXUNUSED(childValue) ) const