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.");
        }
Ejemplo n.º 5
0
 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;
 }
Ejemplo n.º 7
0
 private void CreateDesignerHost()
 {
     _designerViewContent = new FormsDesignerViewContent(this);
     _designerViewContent.Reload();
     _designPanel      = new DesignPanel(_designerViewContent.DesignSurface);
     _designPanel.Dock = DockStyle.Fill;
     Controls.Add(_designPanel);
 }
Ejemplo n.º 8
0
        void CreateScriptingDesignerLoader()
        {
            fakeGenerator = new MockDesignerGenerator();
            loader        = new TestableScriptingDesignerLoader(fakeGenerator);

            formsDesignerView = new FormsDesignerViewContent(new MockViewContent(), new MockOpenedFile("Test.py"));
            fakeGenerator.Attach(formsDesignerView);
        }
Ejemplo n.º 9
0
        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();
 }
Ejemplo n.º 12
0
 public override void Run()
 {
     if (WorkbenchSingleton.Workbench.ActiveWorkbenchWindow != null)
     {
         FormsDesignerViewContent formDesigner = this.FormDesigner;
         if (formDesigner != null)
         {
             formDesigner.ShowSourceCode();
         }
     }
 }
Ejemplo n.º 13
0
 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);
     }
 }
Ejemplo n.º 14
0
 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);
     }
 }
Ejemplo n.º 15
0
        void SetTabOrder(bool show)
        {
            FormsDesignerViewContent formDesigner = FormDesigner;

            if (formDesigner != null)
            {
                if (show)
                {
                    formDesigner.ShowTabOrder();
                }
                else
                {
                    formDesigner.HideTabOrder();
                }
            }
        }
Ejemplo n.º 16
0
        public override void Run()
        {
            IWorkbenchWindow window = WorkbenchSingleton.Workbench.ActiveWorkbenchWindow;

            if (window == null)
            {
                return;
            }

            FormsDesignerViewContent formDesigner = FormDesigner;

            if (formDesigner != null)
            {
                formDesigner.ShowSourceCode();
            }
        }
Ejemplo n.º 17
0
        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;
 }
Ejemplo n.º 20
0
		public EventBindingService(FormsDesignerViewContent formDesigner, IServiceProvider provider) : base(provider)
		{
			if (formDesigner == null)
				throw new ArgumentNullException("formDesigner");
			this.formDesigner = formDesigner;
		}
Ejemplo n.º 21
0
		public ResourceStore(FormsDesignerViewContent viewContent)
		{
			if (viewContent == null)
				throw new ArgumentNullException("viewContent");
			this.viewContent = viewContent;
		}
 public DesignerLoader CreateLoader(FormsDesignerViewContent viewContent)
 {
     return(new WixDialogDesignerLoader((IWixDialogDesigner)viewContent));
 }
Ejemplo n.º 23
0
 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;
        }
Ejemplo n.º 27
0
		public MenuCommandService(FormsDesignerViewContent vc, IServiceProvider serviceProvider) : base(serviceProvider)
		{
			this.vc = vc;
			this.InitializeGlobalCommands( );
		}
 public DesignerResourceService(FormsDesignerViewContent formsDesigner)
 {
     this.formsDesignerViewContent = formsDesigner;
     this.host = formsDesigner.Host;
 }
Ejemplo n.º 29
0
 public void Attach(FormsDesignerViewContent view)
 {
     this.view  = view;
     textEditor = ((ITextEditorProvider)view.PrimaryViewContent).TextEditor;
 }
Ejemplo n.º 30
0
 public void Attach(FormsDesignerViewContent viewContent)
 {
     this.viewContent = viewContent;
 }
Ejemplo n.º 31
0
 public void Detach()
 {
     this.viewContent = null;
 }
 public DesignerLoader CreateLoader(FormsDesignerViewContent viewContent)
 {
     return(new AlDesignerLoader(new AlFormsDesignerLoaderContext(viewContent)));
 }