private bool Filter(TableItemModel item) { if (string.IsNullOrEmpty(FilterText)) { return(true); } return(item.Name.SafeContains(FilterText, StringComparison.CurrentCultureIgnoreCase)); }
private bool Filter(TableItemModel item) { if (string.IsNullOrEmpty(FilterText)) { return(true); } return(item.Name.SafeContains(FilterText)); }
private void Add(object o) { int id = GridViewModel.OriginalItemsSource.Max(model => model.Id) + 1; var newItem = new TableItemModel { Id = id, Name = "Added item " + id }; GridViewModel.ItemsSource.Add(newItem); GridViewModel.SelectedItem = newItem; }
private async void Remove(TableItemModel item) { if (item == null) { item = GridViewModel.SelectedItem; } if (await _messagePresenter.ShowAsync("Delete item " + item.Name + " ?", "Delete", MessageButton.YesNo) != MessageResult.Yes) { return; } GridViewModel.ItemsSource.Remove(item); }
private void Add(object o) { int id = GridViewModel.ItemsSource.Max(model => model.Id) + 1; var newItem = new TableItemModel { Id = id, Name = "Inserted item " + id }; if (GridViewModel.SelectedItem == null) { GridViewModel.ItemsSource.Add(newItem); } else { GridViewModel.ItemsSource.Insert(GridViewModel.ItemsSource.IndexOf(GridViewModel.SelectedItem), newItem); } GridViewModel.SelectedItem = newItem; }
public PreviewTabViewModel() { var _game = ViewModelLocator.GameLoader.Game; if (_game.GlobalPlayer == null) { _game.GlobalPlayer = new GlobalPlayer() { Counters = new List <Counter>(), Groups = new List <Group>() }; } Table = new TableItemModel(_game.Table, new IdeCollection <IdeBaseItem>(this)) { CanRemove = false, CanCopy = false, CanInsert = false }; Piles = new IdeCollection <IdeBaseItem>(this); foreach (var pile in _game.Player.Groups) { Piles.Add(new GroupItemModel(pile, Piles)); } Piles.CollectionChanged += (sender, args) => { _game.Player.Groups = Piles.Select(x => ((GroupItemModel)x)._group); RaisePropertyChanged("CollapsedPiles"); RaisePropertyChanged("VisiblePiles"); Messenger.Default.Send(new GroupChangedMessage(args)); }; AddPileCommand = new RelayCommand(AddPile); Counters = new IdeCollection <IdeBaseItem>(this); foreach (var counter in _game.Player.Counters) { Counters.Add(new CounterItemModel(counter, Counters)); } Counters.CollectionChanged += (sender, args) => { _game.Player.Counters = Counters.Select(x => ((CounterItemModel)x)._counter); }; AddCounterCommand = new RelayCommand(AddCounter); GlobalPiles = new IdeCollection <IdeBaseItem>(this); foreach (var pile in _game.GlobalPlayer.Groups) { GlobalPiles.Add(new GroupItemModel(pile, GlobalPiles)); } GlobalPiles.CollectionChanged += (sender, args) => { _game.GlobalPlayer.Groups = GlobalPiles.Select(x => ((GroupItemModel)x)._group); RaisePropertyChanged("CollapsedGlobalPiles"); RaisePropertyChanged("VisibleGlobalPiles"); Messenger.Default.Send(new GroupChangedMessage(args)); }; AddGlobalPileCommand = new RelayCommand(AddGlobalPile); GlobalCounters = new IdeCollection <IdeBaseItem>(this); foreach (var counter in _game.GlobalPlayer.Counters) { GlobalCounters.Add(new CounterItemModel(counter, GlobalCounters)); } GlobalCounters.CollectionChanged += (sender, args) => { _game.GlobalPlayer.Counters = GlobalCounters.Select(x => ((CounterItemModel)x)._counter); }; AddGlobalCounterCommand = new RelayCommand(AddGlobalCounter); CardSizes = new IdeCollection <IdeBaseItem>(this); foreach (var sizeDef in _game.CardSizes) { var size = new SizeItemModel(sizeDef.Value, CardSizes); CardSizes.Add(size); if (sizeDef.Key == "") { CardSizes.DefaultItem = size; } } CardSizes.CollectionChanged += (sender, args) => { UpdateCardSizesDef(); Messenger.Default.Send(new CardSizeChangedMesssage(args)); }; CardSizes.DefaultItemChanged += (sender, args) => { UpdateCardSizesDef(); }; AddSizeCommand = new RelayCommand(AddSize); Phases = new IdeCollection <IdeBaseItem>(this); foreach (var phase in _game.Phases) { Phases.Add(new PhaseItemModel(phase, Phases)); } Phases.CollectionChanged += (sender, args) => { _game.Phases = Phases.Select(x => ((PhaseItemModel)x)._phase).ToList(); }; AddPhaseCommand = new RelayCommand(AddPhase); Boards = new IdeCollection <IdeBaseItem>(this); foreach (var boardDef in _game.GameBoards) { var board = new BoardItemModel(boardDef.Value, Boards); Boards.Add(board); if (boardDef.Key == "") { Boards.DefaultItem = board; } } ActiveBoard = (BoardItemModel)Boards.DefaultItem; Boards.CollectionChanged += (sender, args) => { UpdateBoardsDef(); }; Boards.DefaultItemChanged += (sender, args) => { UpdateBoardsDef(); }; AddBoardCommand = new RelayCommand(AddBoard); Cards = new ObservableCollection <SampleCardItemModel>(); var card = new SampleCardItemModel { Size = (SizeItemModel)CardSizes.DefaultItem }; Cards.Add(card); RaisePropertyChanged("Cards"); }
public PreviewTabViewModel() { #region table if (_game.Table == null) { _game.Table = new Group() { Name = "Table", Width = 640, Height = 480 }; } Table = new TableItemModel(_game.Table, new IdeCollection <IdeBaseItem>(this)) { CanRemove = false, CanCopy = false, CanInsert = false }; #endregion #region piles if (_game.Player == null) { _game.Player = new Player(); } Piles = new IdeCollection <IdeBaseItem>(this); foreach (var pile in _game.Player.Groups) { Piles.Add(new GroupItemModel(pile, Piles)); } Piles.CollectionChanged += (sender, args) => { _game.Player.Groups = Piles.Select(x => ((GroupItemModel)x)._group); RaisePropertyChanged("CollapsedPiles"); RaisePropertyChanged("VisiblePiles"); Messenger.Default.Send(new GroupChangedMessage(args)); }; AddPileCommand = new RelayCommand(AddPile); #endregion #region counters Counters = new IdeCollection <IdeBaseItem>(this); foreach (var counter in _game.Player.Counters) { Counters.Add(new CounterItemModel(counter, Counters)); } Counters.CollectionChanged += (sender, args) => { _game.Player.Counters = Counters.Select(x => ((CounterItemModel)x)._counter); }; AddCounterCommand = new RelayCommand(AddCounter); #endregion #region globalpiles if (_game.GlobalPlayer == null) { _game.GlobalPlayer = new GlobalPlayer(); } GlobalPiles = new IdeCollection <IdeBaseItem>(this); foreach (var pile in _game.GlobalPlayer.Groups) { GlobalPiles.Add(new GroupItemModel(pile, GlobalPiles)); } GlobalPiles.CollectionChanged += (sender, args) => { _game.GlobalPlayer.Groups = GlobalPiles.Select(x => ((GroupItemModel)x)._group); RaisePropertyChanged("CollapsedGlobalPiles"); RaisePropertyChanged("VisibleGlobalPiles"); Messenger.Default.Send(new GroupChangedMessage(args)); }; AddGlobalPileCommand = new RelayCommand(AddGlobalPile); #endregion #region globalcounters GlobalCounters = new IdeCollection <IdeBaseItem>(this); foreach (var counter in _game.GlobalPlayer.Counters) { GlobalCounters.Add(new CounterItemModel(counter, GlobalCounters)); } GlobalCounters.CollectionChanged += (sender, args) => { _game.GlobalPlayer.Counters = GlobalCounters.Select(x => ((CounterItemModel)x)._counter); }; AddGlobalCounterCommand = new RelayCommand(AddGlobalCounter); #endregion #region sizes CardSizes = new IdeCollection <IdeBaseItem>(this); foreach (var sizeDef in _game.CardSizes) { var size = new SizeItemModel(sizeDef.Value, CardSizes); CardSizes.Add(size); if (sizeDef.Key == "") { CardSizes.DefaultItem = size; } } CardSizes.CollectionChanged += (sender, args) => { UpdateCardSizesDef(); Messenger.Default.Send(new CardSizeChangedMesssage(args)); }; CardSizes.DefaultItemChanged += (sender, args) => { UpdateCardSizesDef(); }; AddSizeCommand = new RelayCommand(AddSize); #endregion #region phases Phases = new IdeCollection <IdeBaseItem>(this); foreach (var phase in _game.Phases) { Phases.Add(new PhaseItemModel(phase, Phases)); } Phases.CollectionChanged += (sender, args) => { _game.Phases = Phases.Select(x => ((PhaseItemModel)x)._phase).ToList(); }; AddPhaseCommand = new RelayCommand(AddPhase); #endregion #region boards Boards = new IdeCollection <IdeBaseItem>(this); foreach (var boardDef in _game.GameBoards) { var board = new BoardItemModel(boardDef.Value, Boards); Boards.Add(board); if (boardDef.Key == "") { Boards.DefaultItem = board; } } Boards.CollectionChanged += (sender, args) => { UpdateBoardsDef(); }; Boards.DefaultItemChanged += (sender, args) => { UpdateBoardsDef(); }; AddBoardCommand = new RelayCommand(AddBoard); #endregion #region samplecards Cards = new ObservableCollection <SampleCardItemModel>(); if (CardSizes.DefaultItem != null) { var card = new SampleCardItemModel { Size = (SizeItemModel)CardSizes.DefaultItem }; Cards.Add(card); } #endregion #region activeboard if (Boards.DefaultItem != null) { ActiveBoard = (BoardItemModel)Boards.DefaultItem; } #endregion }
private void ItemClick(TableItemModel obj) { _messagePresenter.ShowAsync(obj.Name, "Clicked"); }
private bool CanRemove(TableItemModel item) { return(item != null || GridViewModel.SelectedItem != null); }