internal void OnActivateDesigner(DesignSurface surface) { IDesignerHost item = null; if (surface != null) { item = surface.GetService(typeof(IDesignerHost)) as IDesignerHost; } if ((item != null) && ((this._designerList == null) || !this._designerList.Contains(item))) { this.OnCreateDesigner(surface); } if (this._activeDesigner != item) { IDesignerHost provider = this._activeDesigner; this._activeDesigner = item; if (provider != null) { this.SinkChangeEvents(provider, false); } if (this._activeDesigner != null) { this.SinkChangeEvents(this._activeDesigner, true); } if (this._events != null) { ActiveDesignerEventHandler handler = this._events[EventActiveDesignerChanged] as ActiveDesignerEventHandler; if (handler != null) { handler(this, new ActiveDesignerEventArgs(provider, item)); } } this.OnSelectionChanged(this, EventArgs.Empty); } }
/// <summary> /// Called by DesignSurface when it is about to be disposed. /// </summary> private void OnDesignerDisposed(object sender, EventArgs e) { DesignSurface surface = (DesignSurface)sender; surface.Disposed -= new EventHandler(OnDesignerDisposed); // Detach the selection change and add/remove events, if we were monitoring such events SinkChangeEvents(surface, false); IDesignerHost host = surface.GetService(typeof(IDesignerHost)) as IDesignerHost; Debug.Assert(host is not null, "Design surface removed host too early in dispose"); if (host is null) { return; } if (_events is not null) { if (_events[s_eventDesignerDisposed] is DesignerEventHandler eh) { eh(this, new DesignerEventArgs(host)); } } if (_designerList is not null) { _designerList.Remove(host); } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add table layout panel. TableLayoutPanel tableLayoutPanel1 = (TableLayoutPanel)host.CreateComponent(typeof(TableLayoutPanel), "tableLayoutPanel1"); tableLayoutPanel1.ColumnCount = 2; tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 40F)); tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 60F)); tableLayoutPanel1.Location = new Point(0, 0); tableLayoutPanel1.RowCount = 2; tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 20F)); tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Absolute, 25F)); tableLayoutPanel1.Size = new Size(200, 100); tableLayoutPanel1.TabIndex = 0; form.Controls.Add(tableLayoutPanel1); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor descriptor = descriptors.Find("MinimumSize", false); descriptor.SetValue(form, new Size(100, 200)); descriptor = descriptors.Find("AutoScrollMinSize", false); descriptor.SetValue(form, new Size(10, 20)); descriptor = descriptors.Find("AutoScrollMargin", false); descriptor.SetValue(form, new Size(11, 22)); descriptor = descriptors.Find("AutoScroll", false); descriptor.SetValue(form, false); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { AvalonEdit.TextEditor textEditor = new AvalonEdit.TextEditor(); document = textEditor.Document; textEditor.Text = GetTextEditorCode(); RubyParser parser = new RubyParser(); ICompilationUnit compilationUnit = parser.Parse(new DefaultProjectContent(), @"test.py", document.Text); using (DesignSurface designSurface = new DesignSurface(typeof(UserControl))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); UserControl userControl = (UserControl)host.RootComponent; userControl.ClientSize = new Size(489, 389); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(userControl); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(userControl, "userControl1"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { AvalonEditDocumentAdapter docAdapter = new AvalonEditDocumentAdapter(document, null); RubyDesignerGenerator generator = new RubyDesignerGenerator(new MockTextEditorOptions()); generator.Merge(host, docAdapter, compilationUnit, serializationManager); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); Button button = (Button)host.CreateComponent(typeof(Button), "button1"); button.Location = new Point(0, 0); button.Size = new Size(10, 10); button.Text = "button1"; button.TabIndex = 0; button.UseCompatibleTextRendering = false; form.Controls.Add(button); RadioButton radioButton = (RadioButton)host.CreateComponent(typeof(RadioButton), "radioButton1"); radioButton.Location = new Point(20, 0); radioButton.Size = new Size(10, 10); radioButton.Text = "radioButton1"; radioButton.TabIndex = 1; radioButton.UseCompatibleTextRendering = false; form.Controls.Add(radioButton); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); RichTextBox textBox = (RichTextBox)host.CreateComponent(typeof(RichTextBox), "richTextBox1"); textBox.Size = new Size(110, 20); textBox.TabIndex = 1; textBox.Location = new Point(10, 10); textBox.Text = "abc\r\n" + "def\r\n" + "ghi\r\n"; form.Controls.Add(textBox); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor descriptor = descriptors.Find("Name", false); descriptor.SetValue(form, "MainForm"); // Add menu strip. MenuStrip menuStrip = (MenuStrip)host.CreateComponent(typeof(MenuStrip), "menuStrip1"); menuStrip.Text = "menuStrip1"; menuStrip.TabIndex = 0; menuStrip.Location = new Point(0, 0); form.Controls.Add(menuStrip); descriptor = descriptors.Find("MainMenuStrip", false); descriptor.SetValue(form, menuStrip); form.Controls.Remove(menuStrip); host.Container.Remove(menuStrip); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); host.AddService(typeof(IEventBindingService), eventBindingService); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Simulate giving a name to the Load event handler in the property grid. EventDescriptorCollection events = TypeDescriptor.GetEvents(form); EventDescriptor loadEvent = events.Find("Load", false); PropertyDescriptor loadEventProperty = eventBindingService.GetEventProperty(loadEvent); loadEventProperty.SetValue(form, "MainFormLoad"); // Add a second event handler method. EventDescriptor closedEvent = events.Find("FormClosed", false); PropertyDescriptor closedEventProperty = eventBindingService.GetEventProperty(closedEvent); closedEventProperty.SetValue(form, "MainFormClosed"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { resourceWriter = new MockResourceWriter(); resourceService = new MockResourceService(); resourceService.SetResourceWriter(resourceWriter); AvalonEdit.TextEditor textEditor = new AvalonEdit.TextEditor(); document = textEditor.Document; textEditor.Text = GetTextEditorCode(); PythonParser parser = new PythonParser(); ICompilationUnit compilationUnit = parser.Parse(new DefaultProjectContent(), @"test.py", document.Text); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(499, 309); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { AvalonEditDocumentAdapter adapter = new AvalonEditDocumentAdapter(document, null); MockTextEditorOptions options = new MockTextEditorOptions(); PythonDesignerGenerator generator = new PythonDesignerGenerator(options); generator.Merge(host, adapter, compilationUnit, serializationManager); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add combo box. ComboBox comboBox = (ComboBox)host.CreateComponent(typeof(ComboBox), "comboBox1"); comboBox.TabIndex = 0; comboBox.Location = new Point(0, 0); comboBox.Size = new System.Drawing.Size(121, 21); comboBox.Items.Add("aaa"); comboBox.Items.Add("bbb"); comboBox.Items.Add("ccc"); form.Controls.Add(comboBox); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
/// <summary> /// This is called by the DesignerApplication class when /// a designer is created. Activation generally follows. /// </summary> internal void OnCreateDesigner(DesignSurface surface) { Debug.Assert(surface is not null, "DesignerApplication should not pass null here"); IDesignerHost host = surface.GetService(typeof(IDesignerHost)) as IDesignerHost; Debug.Assert(host is not null, "Design surface did not provide us with a designer host"); if (_designerList is null) { _designerList = new ArrayList(); } _designerList.Add(host); // Hookup an object disposed handler on the design surface so we know when it's gone. surface.Disposed += new EventHandler(OnDesignerDisposed); if (_events is null) { return; } if (_events[s_eventDesignerCreated] is DesignerEventHandler eh) { eh(this, new DesignerEventArgs(host)); } }
public void SetUpFixture() { resourceWriter = new MockResourceWriter(); componentCreator = new MockComponentCreator(); componentCreator.SetResourceWriter(resourceWriter); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); host.AddService(typeof(IResourceService), componentCreator); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add ImageList. icon = new Icon(typeof(GenerateFormResourceTestFixture), "App.ico"); ImageList imageList = (ImageList)host.CreateComponent(typeof(ImageList), "imageList1"); imageList.Images.Add("App.ico", icon); imageList.Images.Add("", icon); imageList.Images.Add("", icon); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, "RootNamespace", 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); DataGridView dataGridView = (DataGridView)host.CreateComponent(typeof(DataGridView), "dataGridView1"); dataGridView.Location = new Point(0, 0); dataGridView.Size = new Size(100, 100); form.Controls.Add(dataGridView); DataSet dataSet = (DataSet)host.CreateComponent(typeof(DataSet), "dataSet1"); dataGridView.DataSource = dataSet; PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { resourceWriter = new MockResourceWriter(); componentCreator = new MockComponentCreator(); componentCreator.SetResourceWriter(resourceWriter); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); host.AddService(typeof(IResourceService), componentCreator); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Set bitmap as form background image. bitmap = new Bitmap(10, 10); form.BackgroundImage = bitmap; icon = new Icon(typeof(GenerateFormResourceTestFixture), "App.ico"); form.Icon = icon; DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, "RootNamespace", 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add month calendar. MonthCalendar calendar = (MonthCalendar)host.CreateComponent(typeof(MonthCalendar), "monthCalendar1"); calendar.TabIndex = 0; calendar.Location = new Point(0, 0); calendar.AddMonthlyBoldedDate(new DateTime(2009, 1, 2)); calendar.AddMonthlyBoldedDate(new DateTime(0)); form.Controls.Add(calendar); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add timer. This checks that the components Container is only created once in the // generated code. Timer timer = (Timer)host.CreateComponent(typeof(Timer), "timer1"); // Add menu strip. ContextMenuStrip menuStrip = (ContextMenuStrip)host.CreateComponent(typeof(ContextMenuStrip), "contextMenuStrip1"); // Set the context menu strip OwnerItem to simulate leaving the context menu // open in the designer before generating the source code. We do not want the // OwnerItem to be serialized. menuStrip.OwnerItem = new DerivedToolStripMenuItem(); menuStrip.RightToLeft = RightToLeft.No; menuStripSize = menuStrip.Size; DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); Button button = (Button)host.CreateComponent(typeof(Button), "button1"); button.Location = new Point(0, 0); button.Size = new Size(10, 10); button.Text = "button1"; button.UseCompatibleTextRendering = false; button.FlatAppearance.BorderSize = 2; button.FlatAppearance.BorderColor = Color.Red; button.FlatAppearance.MouseOverBackColor = Color.Yellow; form.Controls.Add(button); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, 1); } } }
public DesignForm(Form originalForm, System.Collections.ObjectModel.Collection<string> propertiesToDesign) { // Copy parameters to fields _originalForm = originalForm; _propertiesToDesign = propertiesToDesign; // Create hashtables _reparentedControls = new Hashtable(); _customTypeDescriptors = new Hashtable(); // Create the DesignSurface and get the View from it; _surface = new DesignSurface(typeof(Form)); // Setup UI, note, this can't be called until _surface is non-null SetupUI(); // Get the IDesignerHost for the surface _host = _surface.GetService(typeof(IDesignerHost)) as IDesignerHost; // Get the ISelectionService and hook the SelectionChanged event _selection = _surface.GetService(typeof(ISelectionService)) as ISelectionService; if (_selection != null) { _selection.SelectionChanged += new EventHandler(SelectionChanged); } // Get the rootForm from the IDesignerHost Form rootForm = _host.RootComponent as Form; if (rootForm != null) { // Clone the Form's properties CloneControlProperties(_originalForm, rootForm); // Now that a customTypeDescriptor is around for the Form, use it SampleCustomTypeDescriptor formDesc = _customTypeDescriptors[rootForm] as SampleCustomTypeDescriptor; if (formDesc != null) { _grid.SelectedObject = formDesc; } // Clone the controls on the Form CloneControlsRecursive(_originalForm.Controls, rootForm); } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add list view. ListView listView = (ListView)host.CreateComponent(typeof(ListView), "listView1"); listView.TabIndex = 0; listView.Location = new Point(0, 0); listView.ClientSize = new Size(200, 100); descriptors = TypeDescriptor.GetProperties(listView); PropertyDescriptor descriptor = descriptors.Find("UseCompatibleStateImageBehavior", false); descriptor.SetValue(listView, true); descriptor = descriptors.Find("View", false); descriptor.SetValue(listView, View.Details); form.Controls.Add(listView); // Add ImageList. Icon icon = new Icon(typeof(GenerateFormResourceTestFixture), "App.ico"); ImageList imageList = (ImageList)host.CreateComponent(typeof(ImageList), "imageList1"); imageList.Images.Add("App.ico", icon); imageList.Images.Add("b.ico", icon); imageList.Images.Add("c.ico", icon); DesignerSerializationManager designerSerializationManager = new DesignerSerializationManager(host); IDesignerSerializationManager serializationManager = (IDesignerSerializationManager)designerSerializationManager; using (designerSerializationManager.CreateSession()) { // Add list view items. ListViewItem item = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[] {"aaa"}, "listViewItem1", false); item.ImageIndex = 1; listView.Items.Add(item); ListViewItem item2 = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[] {"bbb"}, "listViewItem2", false); item2.ImageKey = "App.ico"; listView.Items.Add(item2); ListViewItem item3 = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[0], "listViewItem3", false); item3.ImageIndex = 2; listView.Items.Add(item3); ListViewItem item4 = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[0], "listViewItem4", false); item4.ImageKey = "b.ico"; listView.Items.Add(item4); PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add list view. ListView listView = (ListView)host.CreateComponent(typeof(ListView), "listView1"); listView.TabIndex = 0; listView.Location = new Point(0, 0); listView.ClientSize = new Size(200, 100); descriptors = TypeDescriptor.GetProperties(listView); PropertyDescriptor descriptor = descriptors.Find("UseCompatibleStateImageBehavior", false); descriptor.SetValue(listView, true); descriptor = descriptors.Find("View", false); descriptor.SetValue(listView, View.Details); form.Controls.Add(listView); // Add column headers. columnHeader1 = (ColumnHeader)host.CreateComponent(typeof(ColumnHeader), "columnHeader1"); descriptors = TypeDescriptor.GetProperties(columnHeader1); descriptor = descriptors.Find("Text", false); descriptor.SetValue(columnHeader1, "columnHeader1"); listView.Columns.Add(columnHeader1); columnHeader2 = (ColumnHeader)host.CreateComponent(typeof(ColumnHeader), "columnHeader2"); descriptors = TypeDescriptor.GetProperties(columnHeader2); descriptor = descriptors.Find("Text", false); descriptor.SetValue(columnHeader2, "columnHeader2"); listView.Columns.Add(columnHeader2); // Add list view items. DesignerSerializationManager designerSerializationManager = new DesignerSerializationManager(host); IDesignerSerializationManager serializationManager = (IDesignerSerializationManager)designerSerializationManager; using (designerSerializationManager.CreateSession()) { ListViewItem item = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[] {"aaa"}, "listViewItem1", false); item.ToolTipText = "tooltip"; listView.Items.Add(item); item = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[] {"bbb"}, "listViewItem2", false); listView.Items.Add(item); item = (ListViewItem)serializationManager.CreateInstance(typeof(ListViewItem), new object[0], "listViewItem3", false); listView.Items.Add(item); PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add menu strip. MenuStrip menuStrip = (MenuStrip)host.CreateComponent(typeof(MenuStrip), "menuStrip1"); menuStrip.Text = "menuStrip1"; menuStrip.TabIndex = 0; menuStrip.Location = new Point(0, 0); menuStrip.Size = new System.Drawing.Size(200, 24); // Add menu strip items. ToolStripMenuItem fileMenuItem = (ToolStripMenuItem)host.CreateComponent(typeof(ToolStripMenuItem), "fileToolStripMenuItem"); fileMenuItem.Text = "&File"; ToolStripMenuItem openMenuItem = (ToolStripMenuItem)host.CreateComponent(typeof(ToolStripMenuItem), "openToolStripMenuItem"); openMenuItem.Text = "&Open"; ToolStripMenuItem exitMenuItem = (ToolStripMenuItem)host.CreateComponent(typeof(ToolStripMenuItem), "exitToolStripMenuItem"); exitMenuItem.Text = "E&xit"; fileMenuItem.DropDownItems.Add(openMenuItem); fileMenuItem.DropDownItems.Add(exitMenuItem); // Add non-sited component. fileMenuItem.DropDownItems.Add(new ToolStripMenuItem()); menuStrip.Items.Add(fileMenuItem); ToolStripMenuItem editMenuItem = (ToolStripMenuItem)host.CreateComponent(typeof(ToolStripMenuItem), "editToolStripMenuItem"); editMenuItem.Text = "&Edit"; menuStrip.Items.Add(editMenuItem); form.Controls.Add(menuStrip); fileMenuItemSize = fileMenuItem.Size; openMenuItemSize = openMenuItem.Size; exitMenuItemSize = exitMenuItem.Size; editMenuItemSize = editMenuItem.Size; DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { resourceWriter = new MockResourceWriter(); componentCreator = new MockComponentCreator(); componentCreator.SetResourceWriter(resourceWriter); resourceWriter2 = new MockResourceWriter(); componentCreator2 = new MockComponentCreator(); componentCreator2.SetResourceWriter(resourceWriter2); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); host.AddService(typeof(IResourceService), componentCreator); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add picture box PictureBox pictureBox = (PictureBox)host.CreateComponent(typeof(PictureBox), "pictureBox1"); pictureBox.Location = new Point(0, 0); bitmap = new Bitmap(10, 10); pictureBox.Image = bitmap; pictureBox.Size = new Size(100, 120); pictureBox.TabIndex = 0; form.Controls.Add(pictureBox); // Add bitmap to form. form.BackgroundImage = new Bitmap(10, 10); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } // Check that calling the GenerateInitializeComponentMethodBody also generates a resource file. host.RemoveService(typeof(IResourceService)); host.AddService(typeof(IResourceService), componentCreator2); serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add list view. ListView listView = (ListView)host.CreateComponent(typeof(ListView), "listView1"); listView.TabIndex = 0; listView.Location = new Point(0, 0); listView.ClientSize = new Size(200, 100); descriptors = TypeDescriptor.GetProperties(listView); PropertyDescriptor descriptor = descriptors.Find("UseCompatibleStateImageBehavior", false); descriptor.SetValue(listView, true); descriptor = descriptors.Find("View", false); descriptor.SetValue(listView, View.Details); form.Controls.Add(listView); DesignerSerializationManager designerSerializationManager = new DesignerSerializationManager(host); IDesignerSerializationManager serializationManager = (IDesignerSerializationManager)designerSerializationManager; using (designerSerializationManager.CreateSession()) { // Add groups. ListViewGroup group1 = (ListViewGroup)serializationManager.CreateInstance(typeof(ListViewGroup), new object[0], "listViewGroup1", false); group1.Header = "ListViewGroup"; group1.HeaderAlignment = HorizontalAlignment.Right; group1.Name = "defaultGroup"; group1.Tag = "tag1"; listView.Groups.Add(group1); ListViewGroup group2 = (ListViewGroup)serializationManager.CreateInstance(typeof(ListViewGroup), new object[0], "listViewGroup2", false); group2.Header = "ListViewGroup"; group2.HeaderAlignment = HorizontalAlignment.Center; group2.Name = "listViewGroup2"; listView.Groups.Add(group2); PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, designerSerializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add tree view. TreeView treeView = (TreeView)host.CreateComponent(typeof(TreeView), "treeView1"); treeView.LineColor = Color.Black; treeView.Location = new Point(0, 0); treeView.Size = new Size(100, 100); DesignerSerializationManager designerSerializationManager = new DesignerSerializationManager(host); IDesignerSerializationManager serializationManager = (IDesignerSerializationManager)designerSerializationManager; using (designerSerializationManager.CreateSession()) { // Add first root node. TreeNode firstRootNode = (TreeNode)serializationManager.CreateInstance(typeof(TreeNode), new object[0], "treeNode3", false); firstRootNode.Name = "RootNode0"; firstRootNode.Text = "RootNode0.Text"; treeView.Nodes.Add(firstRootNode); // Add first child node. TreeNode firstChildNode = (TreeNode)serializationManager.CreateInstance(typeof(TreeNode), new object[0], "treeNode2", false); firstChildNode.Name = "ChildNode0"; firstChildNode.Text = "ChildNode0.Text"; firstRootNode.Nodes.Add(firstChildNode); // Add second child node. TreeNode secondChildNode = (TreeNode)serializationManager.CreateInstance(typeof(TreeNode), new object[0], "treeNode1", false); secondChildNode.Name = "ChildNode1"; secondChildNode.Text = "ChildNode1.Text"; firstChildNode.Nodes.Add(secondChildNode); form.Controls.Add(treeView); RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, designerSerializationManager, String.Empty, 1); } } }
private void OnDesignSurfaceCreated(DesignSurface surface) { if (DesignSurfaceCreated != null) { DesignSurfaceCreated(this, new DesignSurfaceEventArgs(surface)); } // monitor disposing surface.Disposed += new EventHandler(OnDesignSurfaceDisposed); DesignerEventService eventService = GetService(typeof(IDesignerEventService)) as DesignerEventService; if (eventService != null) { eventService.RaiseDesignerCreated(surface.GetService(typeof(IDesignerHost)) as IDesignerHost); } }
private void OnDesignSurfaceDisposed(object sender, EventArgs args) { DesignSurface surface = (DesignSurface)sender; surface.Disposed -= new EventHandler(OnDesignSurfaceDisposed); if (DesignSurfaceDisposed != null) { DesignSurfaceDisposed(this, new DesignSurfaceEventArgs(surface)); } DesignerEventService eventService = GetService(typeof(IDesignerEventService)) as DesignerEventService; if (eventService != null) { eventService.RaiseDesignerDisposed(surface.GetService(typeof(IDesignerHost)) as IDesignerHost); } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, 1); } } }
/// <summary> /// This is called by the DesignerApplication class when /// a designer is activated. The passed in designer can /// be null to signify no designer is currently active. /// </summary> internal void OnActivateDesigner(DesignSurface surface) { IDesignerHost host = null; if (surface is not null) { host = surface.GetService(typeof(IDesignerHost)) as IDesignerHost; Debug.Assert(host is not null, "Design surface did not provide us with a designer host"); } // If the designer host is not in our collection, add it. if (host is not null && (_designerList is null || !_designerList.Contains(host))) { OnCreateDesigner(surface); } if (_activeDesigner == host) { return; } IDesignerHost oldDesigner = _activeDesigner; _activeDesigner = host; if (oldDesigner is not null) { SinkChangeEvents(oldDesigner, false); } if (_activeDesigner is not null) { SinkChangeEvents(_activeDesigner, true); } if (_events is not null) { (_events[s_eventActiveDesignerChanged] as ActiveDesignerEventHandler)?.Invoke(this, new ActiveDesignerEventArgs(oldDesigner, host)); } // Activating a new designer automatically pushes a new selection. // OnSelectionChanged(this, EventArgs.Empty); }
public void SetUpFixture() { AvalonEdit.TextEditor textEditor = new AvalonEdit.TextEditor(); document = textEditor.Document; textEditor.Text = GetTextEditorCode(); RubyParser parser = new RubyParser(); MockProjectContent projectContent = new MockProjectContent(); MockProject project = new MockProject(); project.RootNamespace = "RootNamespace"; projectContent.Project = project; ICompilationUnit compilationUnit = parser.Parse(projectContent, @"test.py", document.Text); using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Add picture box PictureBox pictureBox = (PictureBox)host.CreateComponent(typeof(PictureBox), "pictureBox1"); pictureBox.Location = new Point(0, 0); pictureBox.Image = new Bitmap(10, 10); pictureBox.Size = new Size(100, 120); pictureBox.TabIndex = 0; form.Controls.Add(pictureBox); MockTextEditorOptions options = new MockTextEditorOptions(); options.ConvertTabsToSpaces = true; options.IndentationSize = 4; DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { AvalonEditDocumentAdapter docAdapter = new AvalonEditDocumentAdapter(document, null); RubyDesignerGenerator generator = new RubyDesignerGenerator(options); generator.Merge(host, docAdapter, compilationUnit, serializationManager); } } }
internal void OnCreateDesigner(DesignSurface surface) { IDesignerHost service = surface.GetService(typeof(IDesignerHost)) as IDesignerHost; if (this._designerList == null) { this._designerList = new ArrayList(); } this._designerList.Add(service); surface.Disposed += new EventHandler(this.OnDesignerDisposed); if (this._events != null) { DesignerEventHandler handler = this._events[EventDesignerCreated] as DesignerEventHandler; if (handler != null) { handler(this, new DesignerEventArgs(service)); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); host.AddService(typeof(IEventBindingService), eventBindingService); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); Panel panel = (Panel)host.CreateComponent(typeof(Panel), "panel1"); panel.Location = new Point(10, 15); panel.Anchor = AnchorStyles.Bottom | AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right; panel.TabIndex = 0; panel.Size = new Size(100, 120); TextBox textBox = (TextBox)host.CreateComponent(typeof(TextBox), "textBox1"); textBox.Location = new Point(5, 5); textBox.TabIndex = 0; textBox.Size = new Size(110, 20); panel.Controls.Add(textBox); // Add an event handler to the panel to check that this code is generated // before the text box is initialized. EventDescriptorCollection events = TypeDescriptor.GetEvents(panel); EventDescriptor clickEvent = events.Find("Click", false); PropertyDescriptor clickEventProperty = eventBindingService.GetEventProperty(clickEvent); clickEventProperty.SetValue(panel, "Panel1Click"); form.Controls.Add(panel); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(PublicToolTipDerivedForm))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); PublicToolTipDerivedForm form = (PublicToolTipDerivedForm)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor descriptor = descriptors.Find("Name", false); descriptor.SetValue(form, "MainForm"); form.toolTip.SetToolTip(form, "test"); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); IEventBindingService eventBindingService = new MockEventBindingService(host); Form form = (Form)host.RootComponent; form.ClientSize = new Size(200, 300); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); FolderBrowserDialog dialog = (FolderBrowserDialog)host.CreateComponent(typeof(FolderBrowserDialog), "folderBrowserDialog1"); dialog.RootFolder = Environment.SpecialFolder.ApplicationData; DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { RubyCodeDomSerializer serializer = new RubyCodeDomSerializer(" "); generatedRubyCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(ProtectedPanelDerivedForm))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor namePropertyDescriptor = descriptors.Find("Name", false); namePropertyDescriptor.SetValue(form, "MainForm"); // Move protected panel so we generate code for the new location. ProtectedPanelDerivedForm derivedForm = (ProtectedPanelDerivedForm)form; derivedForm.PanelLocation = new Point(10, 15); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public void SetUpFixture() { using (DesignSurface designSurface = new DesignSurface(typeof(Form))) { IDesignerHost host = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); Form form = (Form)host.RootComponent; form.ClientSize = new Size(284, 264); PropertyDescriptorCollection descriptors = TypeDescriptor.GetProperties(form); PropertyDescriptor propertyDescriptor = descriptors.Find("Name", false); propertyDescriptor.SetValue(form, "MainForm"); BackgroundWorker worker = (BackgroundWorker)host.CreateComponent(typeof(BackgroundWorker), "backgroundWorker1"); descriptors = TypeDescriptor.GetProperties(worker); propertyDescriptor = descriptors.Find("WorkerReportsProgress", false); propertyDescriptor.SetValue(worker, true); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { PythonCodeDomSerializer serializer = new PythonCodeDomSerializer(" "); generatedPythonCode = serializer.GenerateInitializeComponentMethodBody(host, serializationManager, String.Empty, 1); } } }
public Form1() { InitializeComponent(); // ���[�N�t���[�v���W�F�N�g�̃p�X��擾 projectpath = Path.Combine(Directory.GetCurrentDirectory(), @"..\..\..\CustomWorkflowLibrary"); // ���[�N�t���[�f�U�C�i�[�̏����� this.designSurface = new DesignSurface(); loader = new MyWorkflowLoader(Path.Combine(projectpath, "Workflow1.xoml")); designSurface.BeginLoad(loader); this.workflowView = new WorkflowView((IServiceProvider) this.designSurface); splitContainer1.Panel1.Controls.Add(this.workflowView); this.workflowView.Dock = DockStyle.Fill; IDesignerHost designerHost = (IDesignerHost)designSurface.GetService(typeof(IDesignerHost)); designerHost.Activate(); // �R���e�L�X�g���j���[�̕\�� IMenuCommandService menuService = new WorkflowMenuCommandService((IServiceProvider)workflowView); designerHost.AddService(typeof(IMenuCommandService), menuService); // �Q�Ƃ���A�Z���u�� (�ꕔ) ��ݒ� // (�p�����[�^�� Validation �`�F�b�N�Ȃǂ̍ۂɁA���̃A�Z���u������ɂ�������) TypeProvider typeProvider = new TypeProvider((IServiceProvider)workflowView); typeProvider.AddAssemblyReference(@"..\..\..\CustomWorkflowLibrary\bin\Debug\CustomWorkflowLibrary.dll"); designerHost.AddService(typeof(ITypeProvider), typeProvider); // (.NET 3.5 ReceiveActivity �� ServiceOperationInfo �𐳂����ݒ肵�Ȃ� (Validation Error �ƂȂ�) ���߈ȉ���lj�) SequentialWorkflowActivity rootActivity = (SequentialWorkflowActivity)designerHost.RootComponent; ReceiveActivity receiveActivity = (ReceiveActivity)rootActivity.Activities[0]; TypedOperationInfo typedOperationInfo = new TypedOperationInfo(); typedOperationInfo.ContractType = typeof(CustomWorkflowLibrary.IWorkflow1); typedOperationInfo.Name = "CalcData"; receiveActivity.ServiceOperationInfo = typedOperationInfo; }
private void OnDesignerDisposed(object sender, EventArgs e) { DesignSurface provider = (DesignSurface)sender; provider.Disposed -= new EventHandler(this.OnDesignerDisposed); this.SinkChangeEvents(provider, false); IDesignerHost service = provider.GetService(typeof(IDesignerHost)) as IDesignerHost; if (service != null) { if (this._events != null) { DesignerEventHandler handler = this._events[EventDesignerDisposed] as DesignerEventHandler; if (handler != null) { handler(this, new DesignerEventArgs(service)); } } if (this._designerList != null) { this._designerList.Remove(service); } } }