public void AddVertGuideLineHandler(object obj) { if (GuideType == GuideType.Global || _page == null || _pageView == null) { return; } var values = (object[])obj; Ruler ruler = values[0] as Ruler; PageEditorViewModel editor = values[1] as PageEditorViewModel; System.Windows.Point point = Mouse.GetPosition(ruler); IGuide guide = _pageView.CreateGuide(Orientation.Vertical, (point.X + ruler.CountShift) / Scale, 0); VerticalGuideLine vLine = new VerticalGuideLine(guide, GuideType.Local, editor.EditorScale); editor.EditorCanvas.Focus(); GuideItems.Add(vLine); _document.IsDirty = true; List <IGuide> guides = new List <IGuide>(); guides.Add(guide); CreatePageGuideCommand cmd = new CreatePageGuideCommand(_pageView, guides); CurrentUndoManager.Push(cmd); ShowGuide(editor); }
private void Snap2Guide(IGuide guide, Rect newRect, Rect boundingRect, ref double delta) { if (guide.Orientation == Service.Document.Orientation.Horizontal) { //snap top if (Math.Abs(newRect.Top - guide.Y) < CommonDefine.SnapMargin) { delta = guide.Y - boundingRect.Top; }//snap bottom if (Math.Abs(newRect.Bottom - guide.Y) < CommonDefine.SnapMargin) { delta = guide.Y - boundingRect.Bottom; } } else { //snap left if (Math.Abs(newRect.Left - guide.X) < CommonDefine.SnapMargin) { delta = guide.X - boundingRect.Left; } //snap right if (Math.Abs(newRect.Right - guide.X) < CommonDefine.SnapMargin) { delta = guide.X - boundingRect.Right; } } }
/// <summary> /// Create Guide. if position > max, create failed. /// </summary> private bool CreateGuide(Orientation orient, int x, int y) { if (orient == Orientation.Vertical) { if (x > CommonDefine.MaxEditorWidth) { return(false); } } else { if (y > CommonDefine.MaxEditorHeight) { return(false); } } if (_isGlobalChecked) { IGuide guide = _document.CreateGlobalGuide(orient, x, y); _guideList.Add(guide); } else { IPageView pageView = _page.PageViews.GetPageView(SelectionService.GetCurrentPage().CurAdaptiveViewGID); if (pageView != null) { IGuide guide = pageView.CreateGuide(orient, x, y); _guideList.Add(guide); } } return(true); }
public void AddGuide(IGuide guide) { Guide guideObject = guide as Guide; if (guideObject != null && !_guides.Contains(guideObject.Guid)) { _guides.Add(guideObject.Guid, guideObject); } }
public void AddGlobalGuide(IGuide guide) { CheckOpen(); Guide guideObject = guide as Guide; if (guideObject != null && !_documentData.GlobalGuides.Contains(guideObject.Guid)) { _documentData.GlobalGuides.Add(guideObject.Guid, guideObject); } }
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); } }
public GuideItemBase(IGuide guid, GuideType type) { _type = type; _guide = guid; if (type == GuideType.Global) { lineColor = new SolidColorBrush(Color.FromRgb(GlobalData.GlobalGuideColor.R, GlobalData.GlobalGuideColor.G, GlobalData.GlobalGuideColor.B)); } else { lineColor = new SolidColorBrush(Color.FromRgb(GlobalData.LocalGuideColor.R, GlobalData.LocalGuideColor.G, GlobalData.LocalGuideColor.B)); } LockCommand = new DelegateCommand <object>(LockExecute); DeleteCommand = new DelegateCommand <object>(DeleteExecute, CanDeleteExecute); _ListEventAggregator.GetEvent <GlobalLockGuides>().Subscribe(GlobalLockGuidesHandler); //isLocked = true; }
public VerticalGuideLine(IGuide guid, GuideType type, double scale) : base(guid, type) { this._scale = scale; }
public HorizontalGuideLine(IGuide guid, GuideType type, double scale) : base(guid, type) { this._scale = scale; }
public GuideInfo(GuideType type, IGuide guide) { Type = type; Guide = guide; }