Example #1
0
        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();
        }
Example #2
0
        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;
            }
        }