public MainWindow() { /* if (Debugger.IsAttached) Default.Reset(); */ InitializeComponent(); DataContext = WindowDataContext; LoadRecentsFilesList(); WindowDataContext.ToggleCanvasGrid = Default.UseGridOnCanvas; LoadedSprite = new Sprite(10, 10, null, this); WindowDataContext.CurrentProgramStatus = "Loaded Empty Sprite"; if (Default.ShowAllColours) { WindowDataContext.ModeAllColours = true; ColourHandler.SwapColours(true); } else { WindowDataContext.ModeSystemColours = true; ColourHandler.SwapColours(false); } CreateColorPalletWindow(); WindowDataContext.PropertyChanged += WindowDataContextOnPropertyChanged; WindowDataContext.SpriteBlockSize = WindowDataContext.AllowedSpriteSizes.First(x => x.Size == Default.SpriteCellSize); for(var i = 0; i < WindowDataContext.AllowedSpriteSizes.Length; i++) { if (WindowDataContext.AllowedSpriteSizes[i].Size == WindowDataContext.SpriteBlockSize.Size) { SpriteCellSize.SelectedIndex = i; break; } } UpdateCanvas(); }
private void FileOptionClicked(object sender, ExecutedRoutedEventArgs e) { var command = ((RoutedCommand)e.Command).Name; switch (command) { case "SaveSprite": if (string.IsNullOrEmpty(LoadedSprite.File)) { SaveSpriteAs(); return; } LoadedSprite.Save(); break; case "SaveAsSprite": SaveSpriteAs(); break; case "OpenSprite": var ofd = new OpenFileDialog { Title = "Open Sprite File", Multiselect = false, Filter = "Sprite File (*.spr)|*.spr" }; if (ofd.ShowDialog() == true) { LoadedSprite = new Sprite(ofd.FileName, this); if (!LoadedSprite.FailedToLoad) { SpriteViewCanvas.Children.Clear(); SaveToRecentsList(ofd.FileName); WindowDataContext.CurrentProgramStatus = $"Loaded: {Path.GetFileName(ofd.FileName)}"; UpdateCanvas(); } else { LoadedSprite = new Sprite(10, 10, null, this); SpriteViewCanvas.Children.Clear(); UpdateCanvas(); } #if DEBUG Console.WriteLine(LoadedSprite); #endif } break; case "ToggleCanvasGrid": case "ToggleGridView": ToggleSpriteGrid(); break; case "ExportSprite": ExportSpriteAsImage(); break; case "NewSprite": CreateNewSprite(); break; case "ShowSystemColours": Default.ShowAllColours = false; Default.Save(); WindowDataContext.ModeAllColours = false; WindowDataContext.ModeSystemColours = true; ColourHandler.SwapColours(Default.ShowAllColours); ColorViewCanvas.Children.Clear(); CreateColorPalletWindow(); break; case "ShowAllColours": Default.ShowAllColours = true; Default.Save(); WindowDataContext.ModeAllColours = true; WindowDataContext.ModeSystemColours = false; ColourHandler.SwapColours(Default.ShowAllColours); ColorViewCanvas.Children.Clear(); CreateColorPalletWindow(); break; case "ResetSystemSettings": var msgBox = MessageBox.Show("Are you sure you wish to reset the application settings", "Are you sure?", MessageBoxButton.YesNo, MessageBoxImage.Error); if (msgBox == MessageBoxResult.Yes) { Default.Reset(); Application.Current.Exit += delegate { Process.Start(Application.ResourceAssembly.Location); }; Application.Current.Shutdown(); } break; } }