private void DeleteGlobalGuide(IGuide guide) { if (_document != null) { List <IGuide> guides = new List <IGuide>(); guides.Add(guide); DeleteGlobalGuideCommand cmd = new DeleteGlobalGuideCommand(_document, guides); CurrentUndoManager.Push(cmd); //Remove from View GuideItems.Remove(GuideItems.FirstOrDefault(x => x.Guide == guide)); //Remove from doc _document.DeleteGlobalGuide(guide.Guid); } }
/// <summary> /// Delete all from doc in Global GuideBoxViewModel, and clear global guides in view. /// Clear page guides in view /// </summary> private void DeleteAllGuides() { if (GuideType == GuideType.Global) { if (_document != null && _page != null && _pageView != null) { Naver.Compass.InfoStructure.CompositeCommand cmds = new Naver.Compass.InfoStructure.CompositeCommand(); #region delete local guides(only current view) if (_pageView.Guides.Count > 0) { List <IGuide> guides = new List <IGuide>(); foreach (IGuide guide in _pageView.Guides) { if (guide.IsLocked == false) { guides.Add(guide); } } //delete from doc foreach (IGuide guide in guides) { _pageView.DeleteGuide(guide.Guid); } // Redo/Undo for page guides DeletePageGuideCommand cmd = new DeletePageGuideCommand(_pageView, guides); cmds.AddCommand(cmd); } #endregion #region delete global guides. if (_document.GlobalGuides.Count > 0) { List <IGuide> golbalGuides = new List <IGuide>(); foreach (IGuide guide in _document.GlobalGuides) { if (guide.IsLocked == false) { golbalGuides.Add(guide); } } //delete from doc foreach (IGuide guide in golbalGuides) { _document.DeleteGlobalGuide(guide.Guid); } // Redo/Undo for Global Guides DeleteGlobalGuideCommand gCmd = new DeleteGlobalGuideCommand(_document, golbalGuides); cmds.AddCommand(gCmd); } #endregion if (cmds.Count > 0) { CurrentUndoManager.Push(cmds); } LoadGlobalGuide(); } } else { LoadPageGuide(); } }