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();
- else
- state->SetSelection(NULL);
+
+ if ( state )
+ {
+ wxPropertyGrid* pg = state->GetGrid();
+ if ( pg->GetState() == state )
+ 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;
// -----------------------------------------------------------------------
+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,
if ( !p->HasFlag(wxPG_PROP_COLLAPSED) )
result += EscapeDelimiters(p->GetName());
- result += wxS(",");
+ result += wxS(",");
}