示例#1
0
        /// <summary>
        /// Creates an instance of <see cref="SpellbookViewModel"/>
        /// </summary>
        public SpellbookViewModel(SpellbookModel spellbookModel) : base()
        {
            _spellbookModel = spellbookModel;

            foreach (SpellbookEntryModel spellbookEntryModel in _spellbookModel.Spells.OrderBy(x => x.Spell.Name))
            {
                _spells.Add(new SpellbookEntryViewModel(spellbookEntryModel));
            }

            _rollToHitCommand          = new RelayCommand(obj => true, obj => RollToHit());
            _decreaseSpellSlotCommand  = new RelayCommand(obj => true, obj => DecreaseSpellSlots((int)obj));
            _increaseSpellSlotCommand  = new RelayCommand(obj => true, obj => IncreaseSpellSlots((int)obj));
            _showAddSpellDialogCommand = new RelayCommand(obj => true, obj => ShowAddSpellDialog());
            _removeSpellCommand        = new RelayCommand(obj => true, obj => RemoveSpell((SpellbookEntryViewModel)obj));
            _exportCommand             = new RelayCommand(obj => true, obj => Export());
        }
示例#2
0
        /// <summary>
        /// Shows create spellbook dialog
        /// </summary>
        public SpellbookModel ShowCreateSpellbookDialog(string title, SpellbookModel spellbookModel)
        {
            ModalDialog modalDialog = new ModalDialog();

            if (_parentWindow != null)
            {
                modalDialog.Owner = _parentWindow;
            }

            SpellbookModel     spellbookModelCopy = new SpellbookModel(spellbookModel);
            SpellbookViewModel spellbookViewModel = new SpellbookViewModel(spellbookModelCopy);

            spellbookViewModel.InitializeOptions();
            CreateSpellbookView createSpellbookView = new CreateSpellbookView(spellbookViewModel);

            modalDialog.WindowTitle  = title;
            modalDialog.Body         = createSpellbookView;
            modalDialog.Confirmation = createSpellbookView.ViewModel;

            bool?result = ShowDialog(modalDialog);

            return(result == true ? spellbookModelCopy : null);
        }