public void SetUpFixture() { MockTextEditorProperties textEditorProperties = new MockTextEditorProperties(); generator = new DerivedPythonDesignerGenerator(); mockViewContent = new MockTextEditorViewContent(); viewContent = new FormsDesignerViewContent(mockViewContent, new MockOpenedFile("Test.py")); viewContent.DesignerCodeFileContent = GetTextEditorCode(); generator.Attach(viewContent); viewContentAttached = generator.GetViewContent(); ParseInformation parseInfo = new ParseInformation(); PythonParser parser = new PythonParser(); ICompilationUnit parserCompilationUnit = parser.Parse(new DefaultProjectContent(), "Test.py", GetTextEditorCode()); parseInfo.SetCompilationUnit(parserCompilationUnit); generator.ParseInfoToReturnFromParseFileMethod = parseInfo; 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()) { generator.MergeRootComponentChanges(host, serializationManager); generator.Detach(); } } }
public void AddDesigner(string FormFileName) { FirstCodeGeneration = FormFileName == null; if (DesignerAndCodeTabs != null) { return; } DesignerAndCodeTabs = new TabControl(); DesignerAndCodeTabs.Visible = false; Controls.Add(DesignerAndCodeTabs); DesignerAndCodeTabs.Dock = DockStyle.Fill; DesignerAndCodeTabs.TabPages.Add(PascalABCCompiler.StringResources.Get("VP_MF_M_FORM_TAB")); DesignerAndCodeTabs.TabPages.Add(PascalABCCompiler.StringResources.Get("VP_MF_M_PROGRAM_TAB")); DesignerPage = DesignerAndCodeTabs.TabPages[0]; TextPage = DesignerAndCodeTabs.TabPages[1]; Controls.Remove(basePanel); TextPage.Controls.Add(basePanel); MainForm.AddToolBox(); MainForm.AddPropertiesWindow(); Designer = new FormsDesignerViewContent(this); Designer.LoadDesigner(FormFileName); DesignerAndCodeTabs.SelectedIndexChanged += tabControl_SelectedIndexChanged; Designer.Modify += SetDocumentChanged; Control designerSurface = Designer.DesignSurface.View as Control; designerSurface.Dock = DockStyle.Fill; DesignerPage.Controls.Add(designerSurface); FormsDesignerViewContent.PropertyPad.SetActiveContainer(Designer.PropertyContainer); DesignerAndCodeTabs.Show(); MainForm.UpdateDesignerIsActive(); //MainForm.UpdateUndoRedoEnabled(); //roman// }
public void SetUpFixture() { generator = new MockDesignerGenerator(); view = new FormsDesignerViewContent(null, new MockOpenedFile("Test.rb")); generator.Attach(view); view.DesignerCodeFileContent = GetFormCode(); loader = new DerivedRubyDesignerLoader(generator); // Begin load. mockDesignerLoaderHost = new MockDesignerLoaderHost(); mockResourceService = new MockResourceService(); mockDesignerLoaderHost.AddService(typeof(IResourceService), mockResourceService); mockTypeResolutionService = mockDesignerLoaderHost.TypeResolutionService; mockExtenderProviderService = new MockExtenderProviderService(); mockDesignerLoaderHost.AddService(typeof(IExtenderProviderService), mockExtenderProviderService); mockDesignerLoaderHost.AddService(typeof(ProjectResourceService), new ProjectResourceService(new MockProjectContent())); mockEventBindingService = new MockEventBindingService(); mockDesignerLoaderHost.AddService(typeof(IEventBindingService), mockEventBindingService); serializationManager = new DesignerSerializationManager(mockDesignerLoaderHost); System.Console.WriteLine("Before BeginLoad"); loader.BeginLoad(mockDesignerLoaderHost); System.Console.WriteLine("After BeginLoad"); rootComponent = mockDesignerLoaderHost.RootComponent; designedForm = new Form(); designedForm.Name = "NewMainForm"; mockDesignerLoaderHost.RootComponent = designedForm; loader.CallPerformFlush(serializationManager); }
public IReadOnlyList <OpenedFile> GetSourceFiles(FormsDesignerViewContent viewContent, out OpenedFile designerCodeFile) { // get new initialize components var parsedFile = SD.ParserService.ParseFile(viewContent.PrimaryFileName, viewContent.PrimaryFileContent); var compilation = SD.ParserService.GetCompilationForFile(viewContent.PrimaryFileName); foreach (var utd in parsedFile.TopLevelTypeDefinitions) { var td = utd.Resolve(new SimpleTypeResolveContext(compilation.MainAssembly)).GetDefinition(); if (FormsDesignerSecondaryDisplayBinding.IsDesignable(td)) { var initializeComponents = FormsDesignerSecondaryDisplayBinding.GetInitializeComponents(td); if (initializeComponents != null) { string designerFileName = initializeComponents.Region.FileName; if (designerFileName != null) { designerCodeFile = SD.FileService.GetOrCreateOpenedFile(designerFileName); return(td.Parts .Select(p => SD.FileService.GetOrCreateOpenedFile(p.UnresolvedFile.FileName)) .Distinct().ToList()); } } } } throw new FormsDesignerLoadException("Could not find InitializeComponent method in any part of the open class."); }
public EventBindingService(FormsDesignerViewContent formDesigner, IServiceProvider provider) : base(provider) { if (formDesigner == null) { throw new ArgumentNullException("formDesigner"); } this.formDesigner = formDesigner; }
public ResourceStore(FormsDesignerViewContent viewContent) { if (viewContent == null) { throw new ArgumentNullException("viewContent"); } this.viewContent = viewContent; }
private void CreateDesignerHost() { _designerViewContent = new FormsDesignerViewContent(this); _designerViewContent.Reload(); _designPanel = new DesignPanel(_designerViewContent.DesignSurface); _designPanel.Dock = DockStyle.Fill; Controls.Add(_designPanel); }
void CreateScriptingDesignerLoader() { fakeGenerator = new MockDesignerGenerator(); loader = new TestableScriptingDesignerLoader(fakeGenerator); formsDesignerView = new FormsDesignerViewContent(new MockViewContent(), new MockOpenedFile("Test.py")); fakeGenerator.Attach(formsDesignerView); }
public void LoadFromFileName(string fileName) { Stream stream = new FileStream(fileName, FileMode.Open); BinaryReader binaryReader = new BinaryReader(stream, System.Text.Encoding.Unicode); byte[] buffer = binaryReader.ReadBytes((int)stream.Length); //string xmlContent = File.ReadAllText(fileName); try { string xmlContent = System.Text.Encoding.Unicode.GetString(buffer); binaryReader.Close(); stream.Close(); if (xmlContent.IndexOf("<SnControl.Solution>") == -1) { xmlContent = File.ReadAllText(fileName); } string xmlSolutionContent = xmlContent.Substring(xmlContent.IndexOf("<SnControl.Solution>"), xmlContent.IndexOf("</SnControl.Solution>") - xmlContent.IndexOf("<SnControl.Solution>")); xmlSolutionContent += "</SnControl.Solution>"; string xmlFormContent = xmlContent.Substring(xmlContent.IndexOf("<System.Windows.Forms.Form"), xmlContent.IndexOf("</QuerySolution>") - xmlContent.IndexOf("<System.Windows.Forms.Form")); XmlSolutionReader xmlSolutionReader = new XmlSolutionReader(_solution); _solution = xmlSolutionReader.SetUpSolution(xmlSolutionContent); if (_solution == null) { Controls.Clear(); return; } SolutionInstance.GetInstance().Solution = _solution; IDesignerLoaderProvider loaderProvider = new XmlDesignerLoaderProvider(xmlFormContent); IDesignerGenerator generator = new XmlDesignerGenerator(); _designerViewContent = new FormsDesignerViewContent(this, loaderProvider, generator); //加载XML内容 _designerViewContent.Reload(); _designPanel = new DesignPanel(_designerViewContent.DesignSurface); _designPanel.Dock = DockStyle.Fill; Controls.Add(_designPanel); if (!_designPanel.SetRootDesigner()) { Controls.Clear(); return; } _designerViewContent.PropertyContainer.Host = _designPanel.Host; _designerViewContent.PropertyContainer.SelectableObjects = _designerViewContent.Host.Container.Components; } catch (ApplicationException e) { MessageBox.Show(e.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void FormDesignerNotCreatedIfAlreadyAttached() { MockTextEditorViewContent view = new MockTextEditorViewContent(); IViewContent[] views = null; using (FormsDesignerViewContent formsDesigner = new FormsDesignerViewContent(view, new MockOpenedFile("test.rb"))) { view.SecondaryViewContents.Add(formsDesigner); views = displayBinding.CreateSecondaryViewContent(view, new MockTextEditorOptions()); } Assert.AreEqual(0, views.Length); }
void CreateDesignerGenerator() { textEditorViewContent = new MockTextEditorViewContent(); formsDesignerOpenedFile = new MockOpenedFile("test.py"); textEditorViewContent.PrimaryFile = formsDesignerOpenedFile; formsDesignerView = new FormsDesignerViewContent(textEditorViewContent, formsDesignerOpenedFile); textEditorOptions = new MockTextEditorOptions(); generator = new TestableScriptingDesignerGenerator(textEditorOptions); generator.Attach(formsDesignerView); generator.ParseInfoToReturnFromParseFile = generator.CreateParseInfoWithOneClass(); }
public override void Run() { if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null) { FormsDesignerViewContent formDesigner = this.FormDesigner; if (formDesigner != null) { formDesigner.ShowSourceCode(); } } }
public override void Run() { try { FormsDesignerViewContent formDesigner = FormDesigner; if (formDesigner != null && CanExecuteCommand(formDesigner.Host)) { IMenuCommandService menuCommandService = (IMenuCommandService)formDesigner.Host.GetService(typeof(IMenuCommandService)); menuCommandService.GlobalInvoke(CommandID); } } catch (Exception e) { MessageService.ShowException(e); } }
public override void Run() { try { FormsDesignerViewContent formDesigner = this.FormDesigner; if ((formDesigner != null) && this.CanExecuteCommand(formDesigner.Host)) { ((IMenuCommandService)formDesigner.Host.GetService(typeof(IMenuCommandService))).GlobalInvoke(this.CommandID); } } catch (Exception exception) { MessageService.ShowError(exception); } }
void SetTabOrder(bool show) { FormsDesignerViewContent formDesigner = FormDesigner; if (formDesigner != null) { if (show) { formDesigner.ShowTabOrder(); } else { formDesigner.HideTabOrder(); } } }
public override void Run() { IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow; if (window == null) { return; } FormsDesignerViewContent formDesigner = FormDesigner; if (formDesigner != null) { formDesigner.ShowSourceCode(); } }
private void InitDockForm() { FormProperties formProperties = new FormProperties(); formProperties.Show(dockPanel, DockState.DockRight); PadContentCollection.Add(formProperties); FormsDesignerViewContent formsDVC = WorkbenchSingleton.Workbench.ActiveContent as FormsDesignerViewContent; if (formsDVC != null) { ToolboxService toolboxService = formsDVC.DesignSurface.GetService(typeof(IToolboxService)) as ToolboxService; FormToolBox formTool = new FormToolBox(toolboxService); formTool.Show(dockPanel, DockState.DockLeft); formTool.DockPanel.DockLeftPortion = 0.15; formTool.AutoHidePortion = 0.15; PadContentCollection.Add(formTool); } dockPanel.Documents.First().DockHandler.Activate(); }
public void SetUpFixture() { using (FormsDesignerViewContent viewContent = new FormsDesignerViewContent(null, new MockOpenedFile("Test.py"))) { viewContent.DesignerCodeFileContent = "class MainForm < Form\r\n" + " def initialize()\r\n" + " self.InitializeComponent()\r\n" + " end\r\n" + "\r\n" + " def InitializeComponent()\r\n" + " end\r\n" + "end"; document = viewContent.DesignerCodeFileDocument; ParseInformation parseInfo = new ParseInformation(); RubyParser parser = new RubyParser(); ICompilationUnit compilationUnit = parser.Parse(new DefaultProjectContent(), @"test.rb", document.TextContent); parseInfo.SetCompilationUnit(compilationUnit); 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"); MockTextEditorProperties textEditorProperties = new MockTextEditorProperties(); textEditorProperties.ConvertTabsToSpaces = true; textEditorProperties.IndentationSize = 1; DerivedRubyDesignerGenerator generator = new DerivedRubyDesignerGenerator(textEditorProperties); generator.ParseInfoToReturnFromParseFileMethod = parseInfo; generator.Attach(viewContent); DesignerSerializationManager serializationManager = new DesignerSerializationManager(host); using (serializationManager.CreateSession()) { generator.MergeRootComponentChanges(host, serializationManager); } } } }
public CSharpFormsDesignerLoaderContext(FormsDesignerViewContent viewContent) { this.viewContent = viewContent; }
public EventBindingService(FormsDesignerViewContent formDesigner, IServiceProvider provider) : base(provider) { if (formDesigner == null) throw new ArgumentNullException("formDesigner"); this.formDesigner = formDesigner; }
public ResourceStore(FormsDesignerViewContent viewContent) { if (viewContent == null) throw new ArgumentNullException("viewContent"); this.viewContent = viewContent; }
public DesignerLoader CreateLoader(FormsDesignerViewContent viewContent) { return(new WixDialogDesignerLoader((IWixDialogDesigner)viewContent)); }
public void Detach() { view = null; }
public MenuCommandService(FormsDesignerViewContent vc, IServiceProvider serviceProvider) : base(serviceProvider) { this.vc = vc; this.InitializeGlobalCommands( ); }
public IReadOnlyList <OpenedFile> GetSourceFiles(FormsDesignerViewContent viewContent, out OpenedFile designerCodeFile) { designerCodeFile = viewContent.PrimaryFile; return(new[] { viewContent.PrimaryFile }); }
public DesignerResourceService(FormsDesignerViewContent formsDesigner) { this.formsDesignerViewContent = formsDesigner; this.host = formsDesigner.Host; }
public MenuCommandService(FormsDesignerViewContent vc, IServiceProvider serviceProvider) : base(serviceProvider) { this.vc = vc; this.InitializeGlobalCommands( ); }
public DesignerResourceService(FormsDesignerViewContent formsDesigner) { this.formsDesignerViewContent = formsDesigner; this.host = formsDesigner.Host; }
public void Attach(FormsDesignerViewContent view) { this.view = view; textEditor = ((ITextEditorProvider)view.PrimaryViewContent).TextEditor; }
public void Attach(FormsDesignerViewContent viewContent) { this.viewContent = viewContent; }
public void Detach() { this.viewContent = null; }
public DesignerLoader CreateLoader(FormsDesignerViewContent viewContent) { return(new AlDesignerLoader(new AlFormsDesignerLoaderContext(viewContent))); }