dc.SetTextForeground(cell.GetFgCol());
}
- // Draw Background
- dc.DrawRectangle(rect);
+ // Draw Background, but only if not rendering in control
+ // (as control already has rendered correct background).
+ if ( !(flags & (Control|ChoicePopup)) )
+ dc.DrawRectangle(rect);
const wxBitmap& bmp = cell.GetBitmap();
if ( bmp.Ok() &&
return wxNOT_FOUND;
}
-void wxPGProperty::UpdateControl( wxWindow* primary )
+void wxPGProperty::UpdateControl( wxWindow* editorWnd )
{
- if ( primary )
- GetEditorClass()->UpdateControl(this, primary);
+ if ( editorWnd )
+ GetEditorClass()->UpdateControl(this, editorWnd);
}
bool wxPGProperty::ValidateValue( wxVariant& WXUNUSED(value), wxPGValidationInfo& WXUNUSED(validationInfo) ) const
void wxPGProperty::RefreshEditor()
{
- if ( m_parent && GetParentState() )
- {
- wxPropertyGrid* pg = GetParentState()->GetGrid();
- if ( pg->GetSelectedProperty() == this )
- {
- wxWindow* editor = pg->GetEditorControl();
- if ( editor )
- GetEditorClass()->UpdateControl( this, editor );
- }
- }
-}
+ if ( !m_parent )
+ return;
+ wxPropertyGrid* pg = GetGrid();
+ if ( pg && pg->GetSelectedProperty() == this )
+ UpdateControl(pg->GetEditorControl());
+}
wxVariant wxPGProperty::GetDefaultValue() const
{
m_children.clear();
}
+void wxPGProperty::DeleteChildren()
+{
+ wxPropertyGridPageState* state = m_parentState;
+
+ while ( GetChildCount() )
+ {
+ wxPGProperty* child = Item(GetChildCount()-1);
+ state->DoDelete(child, true);
+ }
+}
+
void wxPGProperty::ChildChanged( wxVariant& WXUNUSED(thisValue),
int WXUNUSED(childIndex),
wxVariant& WXUNUSED(childValue) ) const