예제 #1
0
파일: Guides.cs 프로젝트: zixing131/LAEACC
 public Guides(PageDesignerBase pd)
 {
     FPageDesigner   = pd;
     FVirtualVGuides = new SortedList <float, ComponentBase>();
     FVirtualHGuides = new SortedList <float, ComponentBase>();
     FVirtualGuides  = new List <RectangleF>();
 }
예제 #2
0
        public DialogWorkspace(PageDesignerBase pageDesigner)
        {
            FPageDesigner = pageDesigner;
            FDesigner     = pageDesigner.Designer;

            FGuides    = new Guides(pageDesigner);
            FEventArgs = new FRMouseEventArgs();
            //ShowGrid = true;
            AllowDrop  = true;
            SnapToGrid = true;
            BackColor  = SystemColors.Window;
            SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true);
        }
예제 #3
0
        private PageDesignerBase GetPageDesigner(PageBase page)
        {
            Type pdType = page == null ? typeof(CodePageDesigner) : page.GetPageDesignerType();

            // try to find existing page designer
            foreach (IDesignerPlugin plugin in FPlugins)
            {
                if (plugin.GetType() == pdType)
                {
                    return(plugin as PageDesignerBase);
                }
            }
            // not found, create new one
            PageDesignerBase pd = Activator.CreateInstance(pdType, new object[] { FDesigner }) as PageDesignerBase;

            pd.Location = new Point(UIOffset.X, 0);
            pd.Size     = new Size(ParentControl.Width - UIOffset.X, ParentControl.Height - FTabs.Height - UIOffset.Y);
            ParentControl.Controls.Add(pd);
            FPlugins.Add(pd);
            pd.RestoreState();
            pd.UpdateUIStyle();
            return(pd);
        }