public void HideElem(GraphicsObject hidElem) { curr = hidElem; int idx = elems.FindIndex(new Predicate<GraphicsObject>(FindElem)); if (idx >= 0) elems[idx].Hide(cellsize, bmp); }
public void RemoveElem(GraphicsObject remElem) { curr = remElem; int idx = elems.FindIndex(new Predicate<GraphicsObject>(FindElem)); if (idx >= 0) { elems[idx].Hide(cellsize, bmp); elems.RemoveAt(idx); } }
public void AddElem(GraphicsObject newElem) { elems.Add(newElem); }
private bool FindElem(GraphicsObject elem) { try { Point2f p = (Point2f)elem; Point2f c = (Point2f)curr; return p == c; } catch(Exception exLvl1) { try { Line p = (Line)elem; Line c = (Line)curr; return p == c; } catch(Exception exLvl2) { try { Set p = (Set)elem; Set c = (Set)elem; return p == c; } catch(Exception exLvl3) { return false; } } } }