SetVertexSelectedInternal
(
IVertex oVertex,
Boolean bSelected
)
{
Debug.Assert(oVertex != null);
AssertValid();
if ( !VertexOrEdgeCanBeSelected(oVertex, bSelected) )
{
return;
}
// Modify the vertex's metadata to mark it as selected or unselected.
MarkVertexOrEdgeAsSelected(oVertex, bSelected);
// Modify the collection of selected vertices.
if (bSelected)
{
m_oSelectedVertices.Add(oVertex);
}
else
{
m_oSelectedVertices.Remove(oVertex);
}
// Redraw the vertex using its modified metadata.
Debug.Assert(m_oLastGraphDrawingContext != null);
m_oGraphDrawer.RedrawVertex(oVertex, m_oLastGraphDrawingContext);
}