Esempio n. 1
0
        private void OpenProject_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            if (e.Parameter is RecentItem item)
            {
                var openedProject = Model.Projects
                                    .FirstOrDefault(p => p.FileName.AnyEquals(item.FileName));

                // Open
                if (openedProject == null)
                {
                    DXProject project = item.OpenDXProject();

                    // 파일을 찾을 수 없음
                    if (project == null)
                    {
                        UpdateRecentMenu();
                        return;
                    }

                    OpenProject(project);
                    return;
                }

                // Select Tab
                SelectProject(openedProject);
            }
            else
            {
                OpenProject();
            }
        }
Esempio n. 2
0
        public void OpenStoryboardPage(DXProject project)
        {
            // DeXign Project
            var page    = new StoryboardPage();
            var tabItem = new ClosableTabItem()
            {
                Header     = project.Manifest.ProjectName,
                IsSelected = true,
                Content    = new Frame()
                {
                    Content = page
                },
                Tag = page.Model
            };

            tabItem.Closed += TabItem_Closed;

            // Add project on managed collection
            Model.Projects.SafeAdd(project);

            // Set Storyboard Project
            page.Model.Project = project;

            // Add TabPage
            tabControl.Items.Add(tabItem);

            // Update Recent
            UpdateRecentMenu();
        }
Esempio n. 3
0
        private void OpenProject_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            DXProject project;

            if (e.Parameter is RecentItem item)
            {
                // 프로젝트 열기
                project = item.OpenDXProject();

                // 파일을 찾을 수 없음
                if (project == null)
                {
                    recentList.Items.Remove(item);
                    return;
                }

                // 프로젝트 열기 실패
                if (!project.CanOpen)
                {
                    return;
                }
            }
            else
            {
                project = DXProject.OpenDialog();
            }

            if (project == null)
            {
                return;
            }

            ShowEditorWindow(new EditorWindow(project));
        }
Esempio n. 4
0
        private async void NewProject_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            this.Hide();

            var projDialog = new ProjectDialog();

            if (!projDialog.ShowDialog())
            {
                this.Show();
                return;
            }

            var project = await DXProject.Create(
                projDialog.FileName,
                new DXProjectManifest()
            {
                ProjectName = projDialog.AppName,
                PackageName = projDialog.PackageName,
                Guid        = Guid.NewGuid(),
                OwnerUID    = GlobalModel.Instance.User.UID
            });

            if (project == null)
            {
                return;
            }

            ShowEditorWindow(new EditorWindow(project));
        }
Esempio n. 5
0
        private void OpenProject(DXProject project)
        {
            if (project == null)
            {
                return;
            }

            OpenStoryboardPage(project);
        }
Esempio n. 6
0
        private void OpenProject_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            if (e.Parameter is RecentItem item)
            {
                // 파일 체크
                if (!File.Exists(item.FileName))
                {
                    MessageBoxResult result =
                        MessageBox.Show(
                            $"'{item.FileName}' 파일을 열 수 없습니다. 이 파일에 대한 참조를 최근에 사용한 파일 목록에서 제거하시겠습니까?",
                            "DeXign",
                            MessageBoxButton.YesNo,
                            MessageBoxImage.Information);

                    if (result == MessageBoxResult.Yes)
                    {
                        recentList.Items.Remove(item);
                        RecentDB.RemoveFile(item.FileName);
                    }

                    return;
                }

                // 프로젝트 열기
                this.Project = DXProject.Open(item.FileName);

                // 프로젝트 파일 열기 실패
                if (!this.Project.CanOpen)
                {
                    // 메박 커스텀하고 내용 바꿀..
                    MessageBox.Show("어디 나사하나 빠진 파일 같습니다.");
                    return;
                }
            }
            else
            {
                this.Project = DXProject.OpenDialog();
            }

            if (this.Project == null)
            {
                return;
            }

            this.CloseDialog(true);
        }
Esempio n. 7
0
        public void CreateNewProject()
        {
            var projDialog = new ProjectDialog();

            if (projDialog.ShowDialog())
            {
                var project = DXProject.Create(
                    projDialog.FileName,
                    new DXProjectManifest()
                {
                    ProjectName = projDialog.AppName,
                    PackageName = projDialog.PackageName
                });

                OpenStoryboardPage(project);
            }
        }
Esempio n. 8
0
        protected override void OnClosed(EventArgs e)
        {
            this.Project = mainPage.Project;

            if (this.Project == null)
            {
                string fileName = Path.Combine(projectPage2.SelectedDirectory, $"{projectPage1.AppName}.dx");

                this.Project = DXProject.Create(
                    fileName,
                    new DXProjectManifest()
                {
                    ProjectName = projectPage1.AppName,
                    PackageName = projectPage1.PackageName
                });
            }

            base.OnClosed(e);
        }
Esempio n. 9
0
        public DXProject OpenDXProject()
        {
            if (!File.Exists(this.FileName))
            {
                MessageBoxResult result =
                    MessageBox.Show(
                        $"'{this.FileName}' 파일을 열 수 없습니다. 이 파일에 대한 참조를 최근에 사용한 파일 목록에서 제거하시겠습니까?",
                        "DeXign",
                        MessageBoxButton.YesNo,
                        MessageBoxImage.Information);

                if (result == MessageBoxResult.Yes)
                {
                    RecentDB.RemoveFile(this.FileName);

                    return(null);
                }
            }

            return(DXProject.Open(this.FileName));
        }
Esempio n. 10
0
        private void NewProject_Execute(object sender, ExecutedRoutedEventArgs e)
        {
            this.Hide();

            var projDialog = new ProjectDialog();

            if (!projDialog.ShowDialog())
            {
                this.Show();
                return;
            }

            var project = DXProject.Create(
                projDialog.FileName,
                new DXProjectManifest()
            {
                ProjectName = projDialog.AppName,
                PackageName = projDialog.PackageName
            });

            ShowEditorWindow(new EditorWindow(project));
        }
Esempio n. 11
0
        public async void CreateNewProject()
        {
            var projDialog = new ProjectDialog();

            if (projDialog.ShowDialog())
            {
                var project = await DXProject.Create(
                    projDialog.FileName,
                    new DXProjectManifest()
                {
                    ProjectName = projDialog.AppName,
                    PackageName = projDialog.PackageName,
                    Guid        = Guid.NewGuid(),
                    OwnerUID    = GlobalModel.Instance.User.UID
                });

                if (project == null)
                {
                    return;
                }

                OpenStoryboardPage(project);
            }
        }
Esempio n. 12
0
 public EditorWindow(DXProject project) : this()
 {
     // Load
     OpenStoryboardPage(project);
 }
Esempio n. 13
0
 private bool SelectProject(DXProject project)
 {
     return(SelectProject(project.FileName));
 }
Esempio n. 14
0
 private void OpenProject()
 {
     OpenProject(DXProject.OpenDialog());
 }
Esempio n. 15
0
 public static string GetDataName(DXProject project)
 {
     return($"프로젝트 '{project.Manifest.ProjectName}'");
 }
Esempio n. 16
0
 public static string GetAbsoluteDataPath(DXProject project)
 {
     return($"/users/{User.UID}/projects/{project.Manifest.Guid.ToString()}/data");
 }