public BatchRenamer(IEnumerable <string> validProps, FileSystemCharacterViewModelProvider provider)
            {
                ValidProperties = new List <string>
                {
                    "$",
                    "#"
                };
                ValidProperties.AddRange(validProps);

                Provider = provider;

                Properties = new List <string>
                {
                    "$"
                };

                Format = "{0}";

                AddItemCommand    = new RelayCommand <string>(AddItem_OnExecute);
                MoveUpCommand     = new RelayCommand <string>(MoveUp_OnExecute);
                MoveDownCommand   = new RelayCommand <string>(MoveDown_OnExecute);
                RemoveItemCommand = new RelayCommand <string>(RemoveItem_OnExecute, RemoveItem_CanExecute);

                PreviewCommand = new RelayCommand(Preview_OnExecute, Rename_CanExecute);
                RenameCommand  = new RelayCommand(Rename_OnExecute, Rename_CanExecute);
            }
        public FSProviderTools(FileSystemCharacterViewModelProvider provider)
        {
            InitializeComponent();
            XDocument xdoc     = Core.LoadCharDataXDocument();
            var       elements = xdoc.Element("dataset")
                                 .Element("datablocks")
                                 .Elements("datablock");
            var props = elements.Select
                            (element => element.Attribute("key")
                            .Value)
                        .ToList();

            Provider = provider;

            Renamer = new BatchRenamer(props, Provider);
            Renamer.PropertyAdded += (sender, args) =>
            {
                RenameAddTextBox.SelectedItem = null;
                RenameAddTextBox.Focus();
            };
            Renamer.PropertyChanged += (sender, args) => RenamePropsBox.Items.Refresh();

            Exporter = new InfoExporter(props, Provider);
            Exporter.PropertyAdded += (sender, args) =>
            {
                ExportAddTextBox.SelectedItem = null;
                ExportAddTextBox.Focus();
            };
            Exporter.PropertyChanged += (sender, args) => ExportPropsBox.Items.Refresh();
        }
Esempio n. 3
0
        private void LoadEditorSave_Execute(bool subdirs)
        {
            SeatDataBlock.ResetSeats();
            CharacterCollection collection = DataContext as CharacterCollection;

            if (collection != null)
            {
                while (!collection.ViewModelProvider.Finish())
                {
                    MessageBoxResult msg = MessageBox.Show(MESSAGE_ERROR_FINISH_PROVIDER,
                                                           "Error",
                                                           MessageBoxButton.OKCancel,
                                                           MessageBoxImage.Hand);
                    if (msg == MessageBoxResult.Cancel)
                    {
                        return;
                    }
                }
                collection.ViewModelProvider.Dispose();
            }

            ICharacterViewModelProvider viewModelProvider;

            if (subdirs)
            {
                viewModelProvider = new FileSystemCharacterViewModelProvider(true, Core.EditSaveDir);
            }
            else
            {
                viewModelProvider = new FileSystemCharacterViewModelProvider(false,
                                                                             Path.Combine(Core.EditSaveDir, "Male"),
                                                                             Path.Combine(Core.EditSaveDir, "Female"));
            }

            viewModelProvider.CharacterLoaded += ViewModelProviderOnCharacterLoaded;
            viewModelProvider.Initialize(this);

            CharacterCollection characterCollection = new CharacterCollection(Dispatcher, viewModelProvider);

            viewModelProvider.CharacterLoaded -= ViewModelProviderOnCharacterLoaded;
            SetTitle();
            DataContext = characterCollection;

            SortBox.SelectedValue           = viewModelProvider.DefaultSortProperty;
            OrderBox.SelectedValue          = viewModelProvider.DefaultSortDirection;
            CharactersControl.SelectedIndex = 0;
        }
Esempio n. 4
0
            public InfoExporter(IEnumerable <string> validProps, FileSystemCharacterViewModelProvider provider)
            {
                ValidProperties = new List <string>
                {
                    "$",
                };
                ValidProperties.AddRange(validProps);

                Provider = provider;

                Properties = new List <string>
                {
                    "$"
                };

                Delimiter = "\t";

                AddItemCommand    = new RelayCommand <string>(AddItem_OnExecute);
                MoveUpCommand     = new RelayCommand <string>(MoveUp_OnExecute);
                MoveDownCommand   = new RelayCommand <string>(MoveDown_OnExecute);
                RemoveItemCommand = new RelayCommand <string>(RemoveItem_OnExecute, RemoveItem_CanExecute);

                ExportCommand = new RelayCommand(Export_OnExecute, Export_CanExecute);
            }