public override object VisEventProc( short eventCode, object source, int eventId, int eventSequenceNumber, object subject, object moreInformation) { if (eventCode == (short)VisEventCodes.visEvtDel + (short)VisEventCodes.visEvtShape) { Shape shape = subject as Shape; switch (VisioHelpers.GetShapeType(shape)) { case Constants.Class: GetLogger(shape.Document).Add(new ClassDeleted(new VisioClass(shape))); break; case Constants.Association: case Constants.Composition: GetLogger(shape.Document).Add(new AssociationDeleted(new VisioConnector(shape))); break; default: VisioAppEventHandler.UnhandledEvent(eventCode); break; } } else if (eventCode == (short)VisEventCodes.visEvtShape + Constants.visEvtAdd) { VisioShape vs = new VisioShape(subject as Shape); // bug //if (vs.GUID == String.Empty) vs.GUID = Guid.NewGuid().ToString(); vs.GUID = Guid.NewGuid().ToString(); } else VisioAppEventHandler.UnhandledEvent(eventCode); return true; }
public bool Equals(VisioShape vs) { return vs.Shape == Shape; }
public Shape Find(String Guid) { foreach (Shape shape in Page.Shapes) { VisioShape Shape = new VisioShape(shape); if (Shape.GUID == Guid) return shape; } return null; }