Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
 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;
         }
     }
 }
Exemplo n.º 3
0
        /// <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);
        }
Exemplo n.º 4
0
        public void AddGuide(IGuide guide)
        {
            Guide guideObject = guide as Guide;

            if (guideObject != null && !_guides.Contains(guideObject.Guid))
            {
                _guides.Add(guideObject.Guid, guideObject);
            }
        }
Exemplo n.º 5
0
        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);
            }
        }
Exemplo n.º 6
0
        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);
            }
        }
Exemplo n.º 7
0
 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;
 }
Exemplo n.º 8
0
 public VerticalGuideLine(IGuide guid, GuideType type, double scale)
     : base(guid, type)
 {
     this._scale = scale;
 }
Exemplo n.º 9
0
 public HorizontalGuideLine(IGuide guid, GuideType type, double scale)
     : base(guid, type)
 {
     this._scale = scale;
 }
Exemplo n.º 10
0
 public GuideInfo(GuideType type, IGuide guide)
 {
     Type  = type;
     Guide = guide;
 }