Beispiel #1
0
        private void newFigures_Click(object sender, EventArgs e)
        {
            if (Earth3d.MainWindow.figureEditor != null)
            {
                if (Earth3d.MainWindow.figureEditor.SaveAndClose() != DialogResult.OK)
                {
                    return;
                }
                Earth3d.MainWindow.figureEditor = null;
            }

            SimpleInput input = new SimpleInput(Language.GetLocalizedText(515, "Figure Library Name"), Language.GetLocalizedText(238, "Name"), "", 32);
            bool        retry = false;

            do
            {
                if (input.ShowDialog() == DialogResult.OK)
                {
                    if (!File.Exists(Constellations.GetFigurePath(input.ResultText)))
                    {
                        int index = figureLibrary.Items.IndexOf(input.ResultText);
                        if (index > -1)
                        {
                            MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                        }
                        else
                        {
                            string validfileName = @"^[A-Za-z0-9_ ]*$";
                            if (input.ResultText.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || !UiTools.ValidateString(input.ResultText, validfileName))
                            {
                                MessageBox.Show(Language.GetLocalizedText(231, "A name can not contain any of the following characters:") + " \\ / : * ? \" < > |", "Constellation Figure Editor");
                                retry = true;
                            }
                            else
                            {
                                Constellations figures = new Constellations(input.ResultText);
                                figures.Save(input.ResultText);
                                figures = null;
                                figureLibrary.Items.Add(input.ResultText);
                                figureLibrary.SelectedIndex = figureLibrary.Items.IndexOf(input.ResultText);
                                Earth3d.MainWindow.ShowFigureEditorWindow(Earth3d.MainWindow.constellationsFigures);
                                retry = false;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                        retry = true;
                    }
                }
                else
                {
                    return;
                }
            } while (retry);
        }
        public void InstallNewFigureFile(string launchTourFile)
        {
            if (UiTools.ShowMessageBox(Language.GetLocalizedText(514, "Do you want to add these constellation figures to your Figure Library?"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"), MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                var newName = launchTourFile.ToLower().Replace(".wwtfig","");

                newName = newName.Substring(newName.LastIndexOf("\\")+1);
                var input = new SimpleInput(Language.GetLocalizedText(515, "Figure Library Name"), Language.GetLocalizedText(238, "Name"), newName, 32);
                var retry = false;
                do
                {
                    if (input.ShowDialog() == DialogResult.OK)
                    {
                        if (!File.Exists(Constellations.GetFigurePath(input.ResultText)))
                        {
                            var index = figureLibrary.Items.IndexOf(input.ResultText);
                            if (index > -1)
                            {
                                MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                                retry = true;
                            }
                            else
                            {
                                try
                                {
                                    File.Copy(launchTourFile, Constellations.GetFigurePath(input.ResultText));
                                    var newFigures = new Constellations(input.ResultText, null, false, false);
                                    newFigures.Save(input.ResultText);
                                    figureLibrary.Items.Add(input.ResultText);
                                    figureLibrary.SelectedIndex = figureLibrary.Items.IndexOf(input.ResultText);
                                    retry = false;
                                }
                                catch
                                {
                                    if (File.Exists(Constellations.GetFigurePath(input.ResultText)))
                                    {
                                        File.Delete(Constellations.GetFigurePath(input.ResultText));
                                    }

                                    UiTools.ShowMessageBox(Language.GetLocalizedText(517, "The file is not a valid WorldWide Telescope Constellation Figure File"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                                    return;
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show(Language.GetLocalizedText(518, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                        }
                    }
                    else
                    {
                        return;
                    }
                } while (retry);
            }
        }
Beispiel #3
0
        public void InstallNewFigureFile(string launchTourFile)
        {
            if (UiTools.ShowMessageBox(Language.GetLocalizedText(514, "Do you want to add these constellation figures to your Figure Library?"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"), MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                String newName = launchTourFile.ToLower().Replace(".wwtfig", "");

                newName = newName.Substring(newName.LastIndexOf("\\") + 1);
                SimpleInput input = new SimpleInput(Language.GetLocalizedText(515, "Figure Library Name"), Language.GetLocalizedText(238, "Name"), newName, 32);
                bool        retry = false;
                do
                {
                    if (input.ShowDialog() == DialogResult.OK)
                    {
                        if (!File.Exists(Constellations.GetFigurePath(input.ResultText)))
                        {
                            int index = figureLibrary.Items.IndexOf(input.ResultText);
                            if (index > -1)
                            {
                                MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                                retry = true;
                            }
                            else
                            {
                                try
                                {
                                    File.Copy(launchTourFile, Constellations.GetFigurePath(input.ResultText));
                                    Constellations newFigures = new Constellations(input.ResultText, null, false, false);
                                    newFigures.Save(input.ResultText);
                                    figureLibrary.Items.Add(input.ResultText);
                                    figureLibrary.SelectedIndex = figureLibrary.Items.IndexOf(input.ResultText);
                                    retry = false;
                                }
                                catch
                                {
                                    if (File.Exists(Constellations.GetFigurePath(input.ResultText)))
                                    {
                                        File.Delete(Constellations.GetFigurePath(input.ResultText));
                                    }

                                    UiTools.ShowMessageBox(Language.GetLocalizedText(517, "The file is not a valid WorldWide Telescope Constellation Figure File"), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                                    return;
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show(Language.GetLocalizedText(518, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                        }
                    }
                    else
                    {
                        return;
                    }
                } while (retry);
            }
        }
Beispiel #4
0
        private void EditFigure_Click(object sender, EventArgs e)
        {
            if (Earth3d.MainWindow.figureEditor != null)
            {
                if (Earth3d.MainWindow.figureEditor.SaveAndClose() != DialogResult.OK)
                {
                    return;
                }
                Earth3d.MainWindow.figureEditor = null;
            }

            if (figureLibrary.SelectedItem.ToString() == Language.GetLocalizedText(519, "Default Figures"))
            {
                SimpleInput input = new SimpleInput(Language.GetLocalizedText(515, "Figure Library Name"), Language.GetLocalizedText(238, "Name"), "", 32);
                bool        retry = false;
                do
                {
                    if (input.ShowDialog() == DialogResult.OK)
                    {
                        if (!File.Exists(Constellations.GetFigurePath(input.ResultText)))
                        {
                            int index = figureLibrary.Items.IndexOf(input.ResultText);
                            if (index > -1)
                            {
                                MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                                retry = true;
                            }
                            else
                            {
                                Earth3d.MainWindow.constellationsFigures.Save(input.ResultText);
                                figureLibrary.Items.Add(input.ResultText);
                                figureLibrary.SelectedIndex = figureLibrary.Items.IndexOf(input.ResultText);
                                Earth3d.MainWindow.ShowFigureEditorWindow(Earth3d.MainWindow.constellationsFigures);
                                retry = false;
                            }
                        }
                        else
                        {
                            MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                        }
                    }
                    else
                    {
                        return;
                    }
                } while (retry);
            }
            else
            {
                Earth3d.MainWindow.ShowFigureEditorWindow(Earth3d.MainWindow.constellationsFigures);
            }
        }
Beispiel #5
0
        void Rename_Click(object sender, EventArgs e)
        {
            ClientNode  client = (ClientNode)nodeTree.SelectedNode.Tag;
            SimpleInput input  = new SimpleInput(Language.GetLocalizedText(225, "Rename"), Language.GetLocalizedText(228, "New Name"), client.Name, 32);

            if (input.ShowDialog() == DialogResult.OK)
            {
                if (!string.IsNullOrEmpty(input.ResultText))
                {
                    client.Name = input.ResultText;
                    UpdateNodeList();
                }
            }
        }
 void addMpc_Click(object sender, EventArgs e)
 {
     SimpleInput input = new SimpleInput(Language.GetLocalizedText(1302, "Minor planet name or designation"), Language.GetLocalizedText(238, "Name"), "", 32);
     bool retry = false;
     do
     {
         if (input.ShowDialog() == DialogResult.OK)
         {
             try
             {
                 GetMpc(input.ResultText);
                 retry = false;
             }
             catch
             {
                 retry = true;
                 UiTools.ShowMessageBox(Language.GetLocalizedText(1303, "The designation was not found or the MPC service was unavailable"));
             }
         }
         else
         {
             retry = false;
         }
     } while (retry);
     return;
 }
        private void newFigures_Click(object sender, EventArgs e)
        {
            if (Earth3d.MainWindow.figureEditor != null)
            {
                if (Earth3d.MainWindow.figureEditor.SaveAndClose() != DialogResult.OK)
                {
                    return;
                }
                Earth3d.MainWindow.figureEditor = null;
            }

            var input = new SimpleInput(Language.GetLocalizedText(515, "Figure Library Name"), Language.GetLocalizedText(238, "Name"), "", 32);
            var retry = false;
            do
            {
                if (input.ShowDialog() == DialogResult.OK)
                {
                    if (!File.Exists(Constellations.GetFigurePath(input.ResultText)))
                    {
                        var index = figureLibrary.Items.IndexOf(input.ResultText);
                        if (index > -1)
                        {
                            MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                        }
                        else
                        {
                            var validfileName = @"^[A-Za-z0-9_ ]*$";
                            if (input.ResultText.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || !UiTools.ValidateString(input.ResultText, validfileName))
                            {
                                MessageBox.Show(Language.GetLocalizedText(231, "A name can not contain any of the following characters:") + " \\ / : * ? \" < > |", "Constellation Figure Editor");
                                retry = true;
                            }
                            else
                            {
                                var figures = new Constellations(input.ResultText);
                                figures.Save(input.ResultText);
                                figures = null;
                                figureLibrary.Items.Add(input.ResultText);
                                figureLibrary.SelectedIndex = figureLibrary.Items.IndexOf(input.ResultText);
                                Earth3d.MainWindow.ShowFigureEditorWindow(Earth3d.MainWindow.constellationsFigures);
                                retry = false;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                        retry = true;
                    }
                }
                else
                {
                    return;
                }
            } while (retry);
        }
        private void EditFigure_Click(object sender, EventArgs e)
        {
            if (Earth3d.MainWindow.figureEditor != null)
            {
                if (Earth3d.MainWindow.figureEditor.SaveAndClose() != DialogResult.OK)
                {
                    return;
                }
                Earth3d.MainWindow.figureEditor = null;
            }

            if (figureLibrary.SelectedItem.ToString() == Language.GetLocalizedText(519, "Default Figures"))
            {
                var input = new SimpleInput(Language.GetLocalizedText(515, "Figure Library Name"), Language.GetLocalizedText(238, "Name"), "", 32);
                var retry = false;
                do
                {
                    if (input.ShowDialog() == DialogResult.OK)
                    {
                        if (!File.Exists(Constellations.GetFigurePath(input.ResultText)))
                        {
                            var index = figureLibrary.Items.IndexOf(input.ResultText);
                            if (index > -1)
                            {
                                MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                                retry = true;
                            }
                            else
                            {
                                Earth3d.MainWindow.constellationsFigures.Save(input.ResultText);
                                figureLibrary.Items.Add(input.ResultText);
                                figureLibrary.SelectedIndex = figureLibrary.Items.IndexOf(input.ResultText);
                                Earth3d.MainWindow.ShowFigureEditorWindow(Earth3d.MainWindow.constellationsFigures);
                                retry = false;
                            }
                        }
                        else
                        {
                            MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                        }
                    }
                    else
                    {
                        return;
                    }
                } while (retry);

            }
            else
            {
                Earth3d.MainWindow.ShowFigureEditorWindow(Earth3d.MainWindow.constellationsFigures);
            }
        }
 private void regionalDataCacheToolStripMenuItem_Click(object sender, EventArgs e)
 {
     SimpleInput sharedCache = new SimpleInput(Language.GetLocalizedText(660, "Shared Data Cache Settings"), Language.GetLocalizedText(661, "Shared Data Cache URL (leave empty for none)"), Properties.Settings.Default.SharedCacheServer, 1024);
     sharedCache.MinLength = 0;
     if (sharedCache.ShowDialog() == DialogResult.OK)
     {
         Properties.Settings.Default.SharedCacheServer = sharedCache.ResultText;
         CacheProxy.BaseUrl = Properties.Settings.Default.SharedCacheServer;
     }
 }
 void url_Click(object sender, EventArgs e)
 {
     if (Focus != null)
     {
         SimpleInput input = new SimpleInput(Language.GetLocalizedText(541, "Edit Hyperlink"), Language.GetLocalizedText(542, "Url"), Focus.Url, 2048);
         if (input.ShowDialog() == DialogResult.OK)
         {
             Undo.Push(new UndoTourStopChange(Language.GetLocalizedText(541, "Edit Hyperlink"), tour));
             Focus.Url = input.ResultText;
         }
     }
 }
        private void BrowseList_AddNewItem(object sender, object e)
        {
            var parent = breadcrumbs.Peek();
            if (parent.Name == Language.GetLocalizedText(236, "My Collections"))
            {
                var folder = NewCollection();
                if (folder != null)
                {
                    LoadFolder(folder);
                }
            }
            else
            {
                if (parent is Folder)
                {
                    var owner = (Folder)parent;
                    var input = new SimpleInput(Language.GetLocalizedText(239, "Create New Folder"), Language.GetLocalizedText(238, "Name"), "", 32);
                    var retry = false;
                    do
                    {
                        if (input.ShowDialog() == DialogResult.OK)
                        {
                            var validfileName = @"^[A-Za-z0-9_ ]*$";
                            if (input.ResultText.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || !UiTools.ValidateString(input.ResultText, validfileName))
                            {
                                MessageBox.Show(Language.GetLocalizedText(231, "A name can not contain any of the following characters:") + " \\ / : * ? \" < > |", Language.GetLocalizedText(232, "Create New Collection"));
                                retry = true;
                            }
                            else
                            {
                                var newCollection = new Folder();
                                newCollection.Name = input.ResultText;
                                newCollection.ThumbNail = Resources.Folder;
                                newCollection.LoadedFilename = CollectionFileName(input.ResultText);
                                newCollection.ReadOnly = false;
                                owner.AddChildFolder(newCollection);
                                LoadFolder(newCollection);
                                retry = false;
                            }

                        }
                    } while (retry);
                }
            }
        }
 public Folder NewCollection()
 {
     var input = new SimpleInput(Language.GetLocalizedText(232, "Create New Collection"), Language.GetLocalizedText(238, "Name"), "", 32);
     var retry = false;
     do
     {
         if (input.ShowDialog() == DialogResult.OK)
         {
             if (!File.Exists(CollectionFileName(input.ResultText)))
             {
                 var f = FindCollection(input.ResultText);
                 if (f != null)
                 {
                     MessageBox.Show(Language.GetLocalizedText(229, "Collection file name already exists, type a different name."), Language.GetLocalizedText(232, "Create New Collection"));
                     retry = true;
                 }
                 else
                 {
                     var validfileName = @"^[A-Za-z0-9_ ]*$";
                     if (input.ResultText.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || !UiTools.ValidateString(input.ResultText, validfileName))
                     {
                         MessageBox.Show(Language.GetLocalizedText(231, "A name can not contain any of the following characters:") + " \\ / : * ? \" < > |", Language.GetLocalizedText(232, "Create New Collection"));
                         retry = true;
                     }
                     else
                     {
                         var newCollection = new Folder();
                         newCollection.Name = input.ResultText;
                         newCollection.ThumbNail = Resources.Folder;
                         newCollection.LoadedFilename = CollectionFileName(input.ResultText);
                         newCollection.ReadOnly = false;
                         MyCollections.AddChildFolder(newCollection);
                         retry = false;
                         return newCollection;
                     }
                 }
             }
             else
             {
                 MessageBox.Show(Language.GetLocalizedText(233, "Name already exists, type a different name."), Language.GetLocalizedText(232, "Create New Collection"));
                 retry = true;
             }
         }
         else
         {
             return null;
         }
     } while (retry);
     return null;
 }
        bool SaveFolderAs(Folder folder)
        {
            var input = new SimpleInput(Language.GetLocalizedText(227, "Save Folder As"), Language.GetLocalizedText(228, "New Name"), folder.Name, 32);
            var retry = false;
            do
            {
                if (input.ShowDialog() == DialogResult.OK)
                {
                    if (!File.Exists(CollectionFileName(input.ResultText)))
                    {
                        var f = FindCollection(input.ResultText);
                        if (f != null)
                        {
                            MessageBox.Show(Language.GetLocalizedText(229, "Collection file name already exists, type a different name."), Language.GetLocalizedText(230, Language.GetLocalizedText(232, "Create New Collection")));
                            retry = true;
                        }
                        else
                        {
                            var validfileName = @"^[A-Za-z0-9_ ]*$";
                            if (input.ResultText.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || !UiTools.ValidateString(input.ResultText, validfileName))
                            {
                                MessageBox.Show(Language.GetLocalizedText(231, "A name can not contain any of the following characters:") + " \\ / : * ? \" < > |", Language.GetLocalizedText(232, "Create New Collection"));
                                retry = true;
                            }
                            else
                            {
                                var oldName = folder.Name;
                                folder.Name = input.ResultText;
                                folder.SaveToFile(CollectionFileName(folder.Name));
                                myCollections.AddChildFolder(Folder.LoadFromFile(CollectionFileName(folder.Name), false));
                                folder.Name = oldName;
                                retry = false;
                                return true;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show(Language.GetLocalizedText(233, "Name already exists, type a different name."), Language.GetLocalizedText(232, "Create New Collection"));
                        retry = true;
                    }
                }
                else
                {
                    return false;
                }
            } while (retry);

            return false;
        }
        void renameMenu_Click(object sender, EventArgs e)
        {
            var folder = (Folder)((ToolStripMenuItem)sender).Tag;
            if (folder.ReadOnly)
            {
                return;
            }

            var input = new SimpleInput(Language.GetLocalizedText(234, "Rename Collection"), Language.GetLocalizedText(228, "New Name"), folder.Name, 32);
            var retry = false;
            do
            {
                if (input.ShowDialog() == DialogResult.OK)
                {
                    if (input.ResultText.ToLower() == folder.Name.ToLower())
                    {
                        folder.Name = input.ResultText;
                        folder.Dirty = true;
                        return;
                    }

                    if (!File.Exists(CollectionFileName(input.ResultText)))
                    {
                        var f = FindCollection(input.ResultText);
                        if (f != null)
                        {
                            MessageBox.Show(Language.GetLocalizedText(229, "Collection file name already exists, type a different name."), Language.GetLocalizedText(232, "Create New Collection"));
                            retry = true;
                        }
                        else
                        {
                            var validfileName = @"^[A-Za-z0-9_ ]*$";
                            if (input.ResultText.IndexOfAny(Path.GetInvalidFileNameChars()) >= 0 || !UiTools.ValidateString(input.ResultText, validfileName))
                            {
                                MessageBox.Show(Language.GetLocalizedText(231, "A name can not contain any of the following characters:") + " \\ / : * ? \" < > |", Language.GetLocalizedText(232, "Create New Collection"));
                                retry = true;
                            }
                            else
                            {
                                folder.Name = input.ResultText;
                                if (File.Exists(folder.LoadedFilename))
                                {
                                    File.Delete(folder.LoadedFilename);
                                }
                                folder.Dirty = true;
                                folder.LoadedFilename = CollectionFileName(input.ResultText);
                                retry = false;
                                 return;
                            }
                        }
                    }
                    else
                    {
                        MessageBox.Show(Language.GetLocalizedText(233, "Name already exists, type a different name."), Language.GetLocalizedText(232, "Create New Collection"));
                        retry = true;
                    }
                }
                else
                {
                    return;
                }
            } while (retry);
        }
        void newLayerGroupMenu_Click(object sender, EventArgs e)
        {
            bool badName = true;
            string name = Language.GetLocalizedText(676, "Enter Layer Group Name");
            while (badName)
            {
                SimpleInput input = new SimpleInput(name, Language.GetLocalizedText(238, "Name"), Language.GetLocalizedText(677, "Layer Group"), 100);
                if (input.ShowDialog() == DialogResult.OK)
                {
                    name = input.ResultText;
                    if (!AllMaps.ContainsKey(name))
                    {
                        MakeLayerGroup(name);
                        version++;
                        badName = false;
                        LoadTreeLocal();
                    }
                    else
                    {
                        UiTools.ShowMessageBox(Language.GetLocalizedText(1374, "Choose a unique name"), Language.GetLocalizedText(676, "Enter Layer Group Name"));
                    }

                }
                else
                {
                    badName = false;
                }
            }
        }
        void renameMenu_Click(object sender, EventArgs e)
        {
            Layer layer = (Layer)layerTree.SelectedNode.Tag;
            SimpleInput input = new SimpleInput(Language.GetLocalizedText(225, "Rename"), Language.GetLocalizedText(228, "New Name"), layer.Name, 32);

            if (input.ShowDialog() == DialogResult.OK)
            {
                if (!string.IsNullOrEmpty(input.ResultText))
                {
                    layer.Name = input.ResultText;
                    version++;
                    LoadTree();
                }
            }
        }
Beispiel #17
0
        private void saveCurrentViewImageToFileToolStripMenuItem_Click(object sender, EventArgs e)
        {
            bool megaCap = false;
            int width = 1920;
            int height = 1080;
            if (Control.ModifierKeys == Keys.Shift)
            {
                megaCap = true;

                bool valid = false;

                string widthString = "1920";
                string heightString = "1080";
                SimpleInput input;
                while (!valid)
                {
                    input = new SimpleInput("Image Capture Size", "Width", widthString, 4);

                    if (input.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            width = int.Parse(input.ResultText);
                            if (width > 0 || width < 9999)
                            {
                                valid = true;
                            }
                        }
                        catch
                        {

                        }
                    }
                    else
                    {
                        return;
                    }
                }

                valid = false;

                while (!valid)
                {
                    input = new SimpleInput("Image Capture Size", "Height", heightString, 4);

                    if (input.ShowDialog() == DialogResult.OK)
                    {
                        try
                        {
                            height = int.Parse(input.ResultText);
                            if (height > 0 || height < 9999)
                            {
                                valid = true;
                            }
                        }
                        catch
                        {
                        }
                    }
                    else
                    {
                        return;
                    }
                }
            }
            try
            {
                SaveFileDialog saveDialog = new SaveFileDialog();
                saveDialog.Filter = Language.GetLocalizedText(978, "Portable Network Graphics(*.png)|*.png|JPEG Image(*.jpg)|*.jpg");
                saveDialog.InitialDirectory = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
                saveDialog.AddExtension = true;
                saveDialog.DefaultExt = ".png";
                saveDialog.FileName = "SavedView.png";
                if (saveDialog.ShowDialog() == DialogResult.OK)
                {
                    if (Properties.Settings.Default.ShowSafeArea || Properties.Settings.Default.ShowTouchControls)
                    {
                        // Draw without safe areas
                        TourEditor.Capturing = true;
                        this.Render();
                        System.Threading.Thread.Sleep(100);
                        this.Render();
                        TourEditor.Capturing = false;
                    }
                    if (megaCap)
                    {
                        CaptureMegaShot(saveDialog.FileName, width, height);
                    }
                    else
                    {
                        if (saveDialog.FileName.ToLower().EndsWith(".jpg") || saveDialog.FileName.ToLower().EndsWith(".jpeg"))
                        {
                            RenderContext11.SaveBackBuffer(saveDialog.FileName, SharpDX.Direct3D11.ImageFileFormat.Jpg);
                        }
                        else
                        {
                            RenderContext11.SaveBackBuffer(saveDialog.FileName, SharpDX.Direct3D11.ImageFileFormat.Png);
                        }
                    }
                }
            }
            catch
            {
                UiTools.ShowMessageBox(Language.GetLocalizedText(1051, "There was a problem capturing the screen contents"));
            }
        }
        void Rename_Click(object sender, EventArgs e)
        {
            ClientNode client = (ClientNode)nodeTree.SelectedNode.Tag;
            SimpleInput input = new SimpleInput(Language.GetLocalizedText(225, "Rename"), Language.GetLocalizedText(228, "New Name"), client.Name, 32);

            if (input.ShowDialog() == DialogResult.OK)
            {
                if (!string.IsNullOrEmpty(input.ResultText))
                {
                    client.Name = input.ResultText;
                    UpdateNodeList();
                }
            }
        }
        void newFilterMenu_MenuItemSelected(LayerUIMenuItem item)
        {
            var input = new SimpleInput(Language.GetLocalizedText(1121, "Filter name"), Language.GetLocalizedText(238, "Name"), "", 32);
            var retry = false;
            do
            {
                if (input.ShowDialog() == DialogResult.OK)
                {
                    foreach(var name in ConstellationFilter.Families.Keys)
                    {
                        if (name.ToLower().Trim() == input.ResultText.ToLower().Trim())
                        {
                            MessageBox.Show(Language.GetLocalizedText(516, "Name already exists, type a different name."), Language.GetLocalizedText(3, "Microsoft WorldWide Telescope"));
                            retry = true;
                            break;
                        }

                    }
                }
                else
                {
                    return;
                }
            } while (retry);

            var filterIn = item.Tag as ConstellationFilter;

            var newFilter = filterIn.Clone();

            ConstellationFilter.Families.Add(input.ResultText.Trim().Replace(";",""), newFilter);
            ConstellationFilter.SaveCustomFilters();
        }