wxPropertyGrid* grid = state->GetGrid();
if ( grid->GetState() == state )
- {
- bool selRes = grid->DoSelectProperty(NULL, wxPG_SEL_DELETING);
- wxPG_CHECK_RET_DBG( selRes,
- wxT("failed to deselect a property (editor probably had invalid value)") );
- }
+ grid->DoSelectProperty(NULL, wxPG_SEL_DELETING|wxPG_SEL_NOVALIDATE);
state->DoDelete( p );
// wxPropertyGridInterface property operations
// -----------------------------------------------------------------------
-bool wxPropertyGridInterface::ClearSelection()
+bool wxPropertyGridInterface::ClearSelection( bool validation )
{
+ int flags = 0;
+ if ( !validation )
+ flags |= wxPG_SEL_NOVALIDATE;
+
wxPropertyGridPageState* state = m_pState;
wxPropertyGrid* pg = state->GetGrid();
if ( pg->GetState() == state )
- return pg->DoClearSelection();
+ return pg->DoSelectProperty(NULL, flags);
else
state->SetSelection(NULL);
return true;
if ( GetSelection() && GetSelection() != state->DoGetRoot() &&
!doExpand )
{
- if ( !pg->ClearSelection() )
- return false;
+ pg->ClearSelection(false);
}
wxPGVIterator it;
return true;
}
+// -----------------------------------------------------------------------
+
+void
+wxPropertyGridInterface::SetPropertyBackgroundColour( wxPGPropArg id,
+ const wxColour& colour,
+ bool recursively )
+{
+ wxPG_PROP_ARG_CALL_PROLOG()
+ p->SetBackgroundColour( colour, recursively );
+ RefreshProperty( p );
+}
+
+// -----------------------------------------------------------------------
+
+void wxPropertyGridInterface::SetPropertyTextColour( wxPGPropArg id,
+ const wxColour& colour,
+ bool recursively )
+{
+ wxPG_PROP_ARG_CALL_PROLOG()
+ p->SetTextColour( colour, recursively );
+ RefreshProperty( p );
+}
+
+// -----------------------------------------------------------------------
+
+void wxPropertyGridInterface::SetPropertyColoursToDefault( wxPGPropArg id )
+{
+ wxPG_PROP_ARG_CALL_PROLOG()
+
+ p->m_cells.clear();
+}
+
+// -----------------------------------------------------------------------
+
+void wxPropertyGridInterface::SetPropertyCell( wxPGPropArg id,
+ int column,
+ const wxString& text,
+ const wxBitmap& bitmap,
+ const wxColour& fgCol,
+ const wxColour& bgCol )
+{
+ wxPG_PROP_ARG_CALL_PROLOG()
+
+ wxPGCell& cell = p->GetCell(column);
+ if ( text.length() && text != wxPG_LABEL )
+ cell.SetText(text);
+ if ( bitmap.IsOk() )
+ cell.SetBitmap(bitmap);
+ if ( fgCol != wxNullColour )
+ cell.SetFgCol(fgCol);
+ if ( bgCol != wxNullColour )
+ cell.SetBgCol(bgCol);
+}
+
// -----------------------------------------------------------------------
// GetPropertyValueAsXXX methods