示例#1
0
 private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)
 {
     if (bgTemplate.Visibility == Visibility.Visible)
     {
         bgTemplate.Visibility = Visibility.Collapsed;
         //Change the colour of the template buttons
         browserTemplate1.IsEnabled     = false;
         browserTemplate2.IsEnabled     = false;
         browserTemplateText.Foreground = new SolidColorBrush(Colors.DarkGray);
         mobileTemplate1.IsEnabled      = false;
         mobileTemplate2.IsEnabled      = false;
         mobileTemplateText.Foreground  = new SolidColorBrush(Colors.DarkGray);
     }
     else
     {
         bgTemplate.Visibility = Visibility.Visible;
         //Change the colour of the template buttons
         browserTemplate1.IsEnabled     = true;
         browserTemplate2.IsEnabled     = true;
         browserTemplateText.Foreground = new SolidColorBrush(Colors.WhiteSmoke);
         mobileTemplate1.IsEnabled      = true;
         mobileTemplate2.IsEnabled      = true;
         mobileTemplateText.Foreground  = new SolidColorBrush(Colors.WhiteSmoke);
     }
     if (templateChoice == TemplateChoice.None)
     {
         templateChoice = TemplateChoice.Browser;
     }
 }
示例#2
0
 public MainCanvasParams(List <InkStrokeContainer> MCStrokes, StorageFolder MCFolder, TemplateChoice chosenTemplate, List <CanvasComponent> canvasComponents)
 {
     strokes    = MCStrokes;
     folder     = MCFolder;
     template   = chosenTemplate;
     components = canvasComponents;
 }
示例#3
0
 public ProjectMetaData(Visibility templateVisibility, TemplateChoice templateChoice, Visibility bgVisibility, WriteableBitmap image)
 {
     this.templateVisibility   = templateVisibility;
     this.templateChoice       = templateChoice;
     this.backgroundVisibility = bgVisibility;
     this.bgImage = image;
 }
示例#4
0
 private void loadTemplate(TemplateChoice templateChoice)
 {
     if (templateChoice == TemplateChoice.Browser)
     {
         templateToggle.IsOn = true;
         BitmapImage bm = new BitmapImage(new Uri("ms-appx:///Assets/browser.png", UriKind.Absolute));
         bgTemplate.Source     = bm;
         bgTemplate.Visibility = Visibility.Visible;
     }
     else if (templateChoice == TemplateChoice.MobYY)
     {
         templateToggle.IsOn = true;
         BitmapImage bm = new BitmapImage(new Uri($"ms-appx:///Assets/mobYY.png", UriKind.Absolute));
         bgTemplate.Source     = bm;
         bgTemplate.Visibility = Visibility.Visible;
     }
     else if (templateChoice == TemplateChoice.MobYX)
     {
         templateToggle.IsOn = true;
         BitmapImage bm = new BitmapImage(new Uri($"ms-appx:///Assets/mobYX.png", UriKind.Absolute));
         bgTemplate.Source     = bm;
         bgTemplate.Visibility = Visibility.Visible;
     }
     else if (templateChoice == TemplateChoice.MobXX)
     {
         templateToggle.IsOn = true;
         BitmapImage bm = new BitmapImage(new Uri($"ms-appx:///Assets/mobXX.png", UriKind.Absolute));
         bgTemplate.Source     = bm;
         bgTemplate.Visibility = Visibility.Visible;
     }
 }
示例#5
0
        private async void OnOpenProjectClick(object sender, RoutedEventArgs e)
        {
            TemplateChoice templateChoice = TemplateChoice.None;
            //Let the user pick a project folder to open
            FolderPicker folderPicker = new FolderPicker();

            folderPicker.FileTypeFilter.Add("*");

            StorageFolder folder = await folderPicker.PickSingleFolderAsync();

            if (folder != null)
            {
                // Get all the files in the project folder and loop through them
                IReadOnlyList <StorageFile> files = await folder.GetFilesAsync();

                foreach (var f in files)
                {
                    // For each file that matches the files we are looking for, do operations
                    if (f.Name.Equals("metadata.txt")) // Templates
                    {
                        string text = await FileIO.ReadTextAsync(f);

                        templateChoice = (TemplateChoice)Enum.Parse(typeof(TemplateChoice), text);
                    }
                    else if (f.Name.Equals("components.txt")) // Shapes
                    {
                        // read file load shapes
                        string text = await FileIO.ReadTextAsync(f);

                        string[] xmlComponents = text.Split('\n');

                        foreach (string component in xmlComponents)
                        {
                            if (component.Length > 0)
                            {
                                components.Add(Serializer.Deserialize <CanvasComponent>(component));
                            }
                        }
                    }
                    else if (f != null && f.FileType.Equals(".gif")) // .gif are strokes
                    {
                        // Open a file stream for reading.
                        IRandomAccessStream stream = await f.OpenAsync(FileAccessMode.Read);

                        // Read from file.
                        using (var inputStream = stream.GetInputStreamAt(0))
                        {
                            var container = new InkStrokeContainer();
                            await container.LoadAsync(inputStream);

                            //Add the strokes stored in the files
                            strokes.Add(container);
                        }
                        stream.Dispose();
                    }
                }
                this.Frame.Navigate(typeof(MainCanvas), new MainCanvasParams(strokes, folder, templateChoice, components));
            }
        }
示例#6
0
        private void BrowserTemplate_Click(object sender, RoutedEventArgs e)
        {
            BitmapImage bm = new BitmapImage(new Uri("ms-appx:///Assets/browser.png", UriKind.Absolute));

            bgTemplate.Source = bm;

            //Update template
            templateChoice = TemplateChoice.Browser;
        }
示例#7
0
        private async void MobileTemplate_Click(object sender, RoutedEventArgs e)
        {
            TemplateDialog td = new TemplateDialog();
            await td.ShowAsync();

            BitmapImage bm = new BitmapImage(new Uri($"ms-appx:///Assets/{td.templateChoice.ToString()}.png", UriKind.Absolute));

            bgTemplate.Source = bm;

            //Update template
            templateChoice = td.templateChoice;
        }
示例#8
0
        private void selectTemplateToolStripMenuItem_Click(object sender, EventArgs e)
        {
            TemplateChoice f = new TemplateChoice();

            if (!f.IsDisposed)
            {
                // 2017.11.02 박성규
                //Select Template로 부터 Select 버튼클릭시 Json 문자열 전달받기 위한 이벤트 핸들러
                //f.OnSelectTemplate += F_OnSelectTemplate;
                f.baseForm = this;
                f.Show(this);
            }
        }
示例#9
0
 private void SubmitButton_Click(object sender, RoutedEventArgs e)
 {
     if (rdYX.IsChecked == true)
     {
         templateChoice = TemplateChoice.MobYX;
     }
     else if (rdXX.IsChecked == true)
     {
         templateChoice = TemplateChoice.MobXX;
     }
     else if (rdYY.IsChecked == true)
     {
         templateChoice = TemplateChoice.MobYY;
     }
     templateDialog.Hide();
 }
示例#10
0
 private void SubmitButton_Click(object sender, RoutedEventArgs e)
 {
     result = ContentDialogResult.Primary;
     if (none.IsChecked == true)
     {
         template = TemplateChoice.None;
     }
     else if (mobile.IsChecked == true)
     {
         template = TemplateChoice.MobYY;
     }
     else if (browser.IsChecked == true)
     {
         template = TemplateChoice.Browser;
     }
     preloadTemplateDialog.Hide();
 }
示例#11
0
        public async Task <MainCanvasParams> OpenProject(List <InkStrokeContainer> currentStrokes, StorageFolder currentFolder, ProjectMetaData metaData, List <CanvasComponent> components)
        {
            List <InkStrokeContainer> newStrokes     = new List <InkStrokeContainer>();
            TemplateChoice            templateChoice = TemplateChoice.None;
            //Let the user pick a project folder to open
            FolderPicker folderPicker = new FolderPicker();

            folderPicker.FileTypeFilter.Add("*");

            StorageFolder newFolder = await folderPicker.PickSingleFolderAsync();

            if (newFolder != null)
            {
                IReadOnlyList <StorageFile> files = await newFolder.GetFilesAsync();

                foreach (var f in files)
                {
                    if (f.Name.Equals("metadata.txt"))
                    {
                        string text = await FileIO.ReadTextAsync(f);

                        templateChoice = (TemplateChoice)Enum.Parse(typeof(TemplateChoice), text);
                    }
                    else if (f.Name.Equals("components.txt"))
                    {
                        // read file load shapes
                        string text = await FileIO.ReadTextAsync(f);

                        string[] xmlComponents = text.Split('\n');

                        foreach (string component in xmlComponents)
                        {
                            if (component.Length > 0)
                            {
                                components.Add(Serializer.Deserialize <CanvasComponent>(component));
                            }
                        }
                    }
                    else if (f != null && f.FileType.Equals(".gif"))
                    {
                        // Open a file stream for reading.
                        IRandomAccessStream stream = await f.OpenAsync(FileAccessMode.Read);

                        // Read from file.
                        using (var inputStream = stream.GetInputStreamAt(0))
                        {
                            var container = new InkStrokeContainer();
                            await container.LoadAsync(inputStream);

                            //Add the strokes stored in the files
                            newStrokes.Add(container);
                        }
                        stream.Dispose();
                    }
                }
                var result = await ConfirmSave(currentStrokes, currentFolder, metaData, components);

                if (result != ContentDialogResult.None)
                {
                    return(new MainCanvasParams(newStrokes, newFolder, templateChoice, components));
                }
            }
            return(null);
        }
示例#12
0
 public ProjectMetaData(Visibility templateVisibility, TemplateChoice templateChoice)
 {
     this.templateVisibility = templateVisibility;
     this.templateChoice     = templateChoice;
 }