internal DesignerHost(BrowserTree objTree, Panel imagePanel) { _imagePanel = imagePanel; if (_host == null) { _host = this; _serviceContainer = new ServiceContainer(); _serviceContainer.AddService(typeof(IDesignerHost), _host); _serviceContainer.AddService(typeof(IUIService), _host); _serviceContainer.AddService(typeof(ISelectionService), _host); _serviceContainer.AddService(typeof(IToolboxService), new ToolboxService()); } _container = new DesignerContainer(this); _defaultSite = new DesignerSite(this, null, _container, "Default site"); _designSurfaceSite = (DesignerSite)_container.CreateSite(_imagePanel, "Design Surface"); // Hook the design surface to the ParentControlDesigner _parentControlDesigner = new DummyDesigner(); _imagePanel.Site = _designSurfaceSite; _designSurfaceSite.Designer = _parentControlDesigner; _parentControlDesigner.Initialize(_imagePanel); // Used to make sure we don't give a designer for anything higher // than the design surface (GetDesigner is called on the // surface's parent) _designSurfaceParent = ((Control)_imagePanel).Parent; // Get the type for the UI selection service, since its private // the compiler will not let us see it _typeISelectionUIService = ReflectionHelper.GetType("System.Windows.Forms.Design.ISelectionUIService"); // This is required to get an instance of the selection // UI service installed, we don't actually use this // designer for anything _fakePanel = new Panel(); IDesigner compDes = new ComponentDocumentDesigner(); _fakePanel.Site = _container.CreateSite(_fakePanel, "Fake Design Surface"); compDes.Initialize(_fakePanel); // Make the size of the selection service cover the design // surface panel so that it will see all of the events _selUIService = (Control)GetService(_typeISelectionUIService); ObjectBrowser.ImagePanel.ResetSize(_selUIService); _imagePanel.Controls.Add(_selUIService); _imagePanel.SizeChanged += new EventHandler(ImagePanelSizeChange); DesignMode = true; // So we change the object selected when a control is selected SelectionChanged += new EventHandler(objTree.ControlSelectionChanged); }
public DesignerSite(DesignerHost host, IComponent comp, IContainer con, string name) { _host = host; _component = comp; _container = con; _name = name; _serviceContainer = new ServiceContainer(); _dictHash = new Hashtable(); if (comp is Control) { _origWindowTarget = ((Control)comp).WindowTarget; } if (ComponentAdded != null) { ComponentAdded(this, new ComponentEventArgs(comp)); } if (ComponentAdding != null) { ComponentAdding(this, new ComponentEventArgs(comp)); } }
public DesignerContainer(DesignerHost host) { _host = host; _container = new Container(); _sites = new ArrayList(); }
public BrowserDesignerTransaction(DesignerHost host, String name) : base(name) { _host = host; }
public BrowserDesignerTransaction(DesignerHost host) : base() { _host = host; }
public ObjectBrowser(bool showStatusPanel, bool tabbedLayout) { TOP_OBJ_NAME = StringParser.Parse("${res:ComponentInspector.ObjectBrowser.TopLevelObjects}"); int start = Environment.TickCount; _objBrowser = this; InitTypeHandlers(); InitializeComponent(showStatusPanel, tabbedLayout); CreateControl(); // Create the designer host after everything is setup _designerHost = new DesignerHost(_objTree, _imagePanel.DesignPanel); AssemblySupport.AddCurrentAssemblies(); _helpFile = Directory.GetCurrentDirectory() + "\\CompInsp_" + "1" + ".chm"; int timeTaken = Environment.TickCount - start; }