Exemple #1
0
        internal void LoadTemplate(DetailsTemplate currentTemplate)
        {
            IDesignerHost    designerHost     = base.GetService(typeof(IDesignerHost)) as IDesignerHost;
            Control          control          = designerHost.RootComponent as Control;
            CustomTabControl customTabControl = (CustomTabControl)DetailsTemplatesSurface.CreateComponent(typeof(CustomTabControl), designerHost);

            customTabControl.Parent = control;
            int num  = 0;
            int num2 = 0;

            customTabControl.SuspendLayout();
            customTabControl.TabPages.Clear();
            if (currentTemplate.Pages != null)
            {
                foreach (Page page in currentTemplate.Pages)
                {
                    CustomTabPage customTabPage = (CustomTabPage)DetailsTemplatesSurface.CreateComponent(typeof(CustomTabPage), designerHost);
                    customTabPage.DetailsTemplateTab = page;
                    foreach (DetailsTemplateControl detailsTemplateControl in page.Controls)
                    {
                        Type    type     = detailsTemplateControl.GetType();
                        Control control2 = (Control)DetailsTemplatesSurface.CreateComponent(DetailsTemplatesSurface.controlMapping[type], designerHost);
                        control2.Location = DetailsTemplatesSurface.DialogUnitsToPixel(detailsTemplateControl.X, detailsTemplateControl.Y, this.ExchangeForm);
                        control2.Size     = new Size(DetailsTemplatesSurface.DialogUnitsToPixel(detailsTemplateControl.Width, detailsTemplateControl.Height, this.ExchangeForm));
                        customTabPage.Controls.Add(control2);
                        (control2 as IDetailsTemplateControlBound).DetailsTemplateControl = detailsTemplateControl;
                        int val  = control2.Location.X + control2.Size.Width;
                        int val2 = control2.Location.Y + control2.Size.Height;
                        num  = Math.Max(num, val);
                        num2 = Math.Max(num2, val2);
                    }
                    customTabControl.TabPages.Add(customTabPage);
                    DetailsTemplatesSurface.SortControls(customTabPage, false);
                }
            }
            num                += 25;
            num2               += 50;
            num                 = Math.Max(num, 200);
            num2                = Math.Max(num2, 200);
            control.Size        = new Size(num, num2);
            control.MinimumSize = new Size(200, 200);
            PropertyDescriptor propertyDescriptor = TypeDescriptor.GetProperties(customTabControl)["Size"];

            propertyDescriptor.SetValue(customTabControl, new Size(num, num2));
            this.templateTab = customTabControl;
            this.MonitorService();
            this.templateTab.SelectedIndexChanged += this.selectionService_SelectionChanged;
            this.selectionService_SelectionChanged(null, null);
            this.templateTab.Resize += this.templateTab_Resize;
        }
Exemple #2
0
 internal static IComponent CreateComponent(Type componentType, IDesignerHost host)
 {
     return(DetailsTemplatesSurface.CreateComponent(new ToolboxItem(componentType), host));
 }