Esempio n. 1
0
        private static void CreateEditorInstance(EditorTestRequest a, ManualResetEventSlim evt)
        {
            try {
                CoreEditor = new CoreEditor(a.Text, a.FileName, a.ContentType);

                Window = new Window();

                if (Screen.AllScreens.Length == 1)
                {
                    Window.Left = 0;
                    Window.Top  = 50;
                }
                else
                {
                    Screen secondary = Screen.AllScreens.FirstOrDefault(x => !x.Primary);
                    Window.Left = secondary.WorkingArea.Left;
                    Window.Top  = secondary.WorkingArea.Top + 50;
                }

                Window.Width  = 800;
                Window.Height = 600;

                Window.Title   = "R Editor - " + (a.FileName ?? "Untitled");
                Window.Content = CoreEditor.Control;
            } finally {
                evt.Set();
            }

            Window.Topmost = true;
            Window.ShowDialog();
        }
Esempio n. 2
0
 public EditorScript(IServiceContainer services, CoreEditor coreEditor, IDisposable containerDisposable)
 {
     _services            = services;
     _idleTime            = services.GetService <IIdleTimeSource>();
     _coreEditor          = coreEditor;
     _containerDisposable = containerDisposable;
 }
Esempio n. 3
0
        private void LoadProjectStripOnClick(object sender, EventArgs e)
        {
            var folderBrowser = new FolderBrowserDialog();

            if (folderBrowser.ShowDialog() == DialogResult.OK)
            {
                if (!Directory.Exists(folderBrowser.SelectedPath))
                {
                    return;
                }
                if (!File.Exists(Path.Combine(folderBrowser.SelectedPath, Settings.Default.PROJECTCONFIG)))
                {
                    Log.Error("项目不存在,请重新创建");
                    return;
                }

                try
                {
                    var info = SerializerHelper.Deserialize <ProjectInfo>(Path.Combine(folderBrowser.SelectedPath,
                                                                                       Settings.Default.PROJECTCONFIG));
                    CoreEditor.LoadProject(info);
                    Log.Info("加载项目成功");
                }
                catch (Exception exception)
                {
                    Log.Error("加载项目失败:" + exception.Message);
                }
            }
        }
Esempio n. 4
0
 public EditorScript(IExportProvider exportProvider, CoreEditor coreEditor, IDisposable containerDisposable)
 {
     _exportProvider      = exportProvider;
     _coreEditor          = coreEditor;
     _editorShell         = _exportProvider.GetExportedValue <IEditorShell>();
     _containerDisposable = containerDisposable;
 }
Esempio n. 5
0
        /// <summary>
        /// Closes editor window
        /// </summary>
        public static void Close()
        {
            var action = new Action(() => {
                Window.Close();
                CoreEditor.Close();
            });

            UIThreadHelper.Instance.Invoke(action);
        }
Esempio n. 6
0
        private void NewProjectOnClick(object sender, EventArgs e)
        {
            var newProjectForm = new NewProjectForm();

            if (newProjectForm.ShowDialog() == DialogResult.Yes)
            {
                // 创建完成
                CoreEditor.LoadProject(newProjectForm.Info);
            }
        }
        private void CreateBtnOnClick(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(projectName.Text))
            {
                MessageBox.Show(Resources.NewProjectForm_ProjectNameIsNotNull);
                return;
            }

            if (string.IsNullOrEmpty(projectPosition.Text))
            {
                MessageBox.Show(Resources.NewProjectForm_ProjectPathIsNotNull);
                return;
            }

            if (!int.TryParse(screenWidth.Text, out var width))
            {
                MessageBox.Show(@"请确认您的屏幕宽度输入是否正确");
                return;
            }

            if (!int.TryParse(screenHeight.Text, out var height))
            {
                MessageBox.Show(@"请确认您的屏幕高度输入是否正确");
                return;
            }

            if (!Directory.Exists(projectPosition.Text))
            {
                Directory.CreateDirectory(projectBrowser.Text);
            }

            Info = new ProjectInfo
            {
                Name       = projectName.Text, Path = Path.Combine(projectPosition.Text, projectName.Text),
                SceneWidth = width, SceneHeight = height
            };

            try
            {
                ProcessHelper.Run($"egret create {projectName.Text} --type core", projectPosition.Text, text =>
                {
                    CoreEditor.SaveProject(Path.Combine(projectPosition.Text, projectName.Text, Settings.Default.PROJECTCONFIG));
                });
            }
            catch (Exception exception)
            {
                Log.Error("项目创建失败:" + exception.Message);
                return;
            }


            NewProjectComplete();
        }
Esempio n. 8
0
 public EditorScript(ICoreShell coreShell, CoreEditor coreEditor, IDisposable containerDisposable)
 {
     _shell               = coreShell;
     _coreEditor          = coreEditor;
     _containerDisposable = containerDisposable;
 }