public List <TagViewModel> GetCommonTags() { if (SelectedEntries == null || SelectedEntries.Count() == 0) { return(new List <TagViewModel>()); } var images = GetAllImages(SelectedEntries); if (images.Count() == 0) { return(new List <TagViewModel>()); } var firstEntry = images.First(); IEnumerable <TagViewModel> temp = Chains.Where(a => a.ImageID == firstEntry.ID).Select(a => a.Tag).ToList(); foreach (var image in images) { IEnumerable <TagViewModel> tags = Chains.Where(a => a.ImageID == image.ID).Select(a => a.Tag).ToList(); temp = temp.Intersect(tags).ToList(); } return(temp.ToList()); }
public void RemoveFromSelectedEntries(IEnumerable <EntryViewModel> entries) { foreach (var entry in entries) { SelectedEntries.Remove(entry); } }
private void RemoveEntry() { if (LoadedFile == null || SelectedCategory == null) { throw new InvalidOperationException("Cannot remove entry from unloaded file or null category!"); } if (SelectedEntries.Count > 0) { // Get the index of the currently selected ones - presumably the first. int index = SelectedCategory.Entries.IndexOf(SelectedEntries[0]); // Remove all selected foreach (var entry in SelectedEntries) { SelectedCategory.Entries.Remove(entry); } SelectedEntries.Clear(); // It shifted us up by one or more, so if still in valid range, use it, otherwise we subtract one (ie: it was the last one) if (index >= SelectedCategory.Entries.Count) { index--; } if (index >= 0) { SelectedEntries.Add(SelectedCategory.Entries[index]); } } }
/***************************************************************************** * EVENT: dataGridView1_ContextMenuItemClick * Description: * Parameters: *****************************************************************************/ private void dataGridView1_ContextMenuItemClick(object sender, EventArgs e) { if (((MenuItem)sender).Index == (int)ContextMenuEntry.CHART) { if (SelectedEntries.Count() > 1) { SendMessage(Application.OpenForms[0].Handle, WM_MULTIROWCLICK, IntPtr.Zero, this.Handle); } else { SendMessage(Application.OpenForms[0].Handle, WM_CELLCLICK, (IntPtr)((int)dataGridView1.Rows[CurrentSelectedRow].Cells[0].Value - 1), this.Handle); } } if (((MenuItem)sender).Index == (int)ContextMenuEntry.WATCHLIST) { if (SelectedEntries.Count() > 1) { SendMessage(Application.OpenForms[0].Handle, WM_MULTI_ADDWATCHLIST, IntPtr.Zero, this.Handle); } else { SendMessage(Application.OpenForms[0].Handle, WM_ADDWATCHLIST, (IntPtr)((int)dataGridView1.Rows[CurrentSelectedRow].Cells[0].Value - 1), this.Handle); } } }
/// <summary> /// Updates all messages in the list view to show only those meeting the /// selection criteria. /// </summary> private void RefreshMessages() { //Check if we have a task if (Task == null) { return; } //Check if we have any session selected if (filterSessionCombobox.SelectedIndex == -1) { return; } Application.UseWaitCursor = true; LogSinkBase sink = Task.Log[filterSessionCombobox.SelectedIndex]; EntryCache.Clear(); SelectedEntries.Clear(); EntryCache.AddRange(sink.Where(MeetsCriteria)); //Set the list view size and update all the control states log.VirtualListSize = EntryCache.Count; log.Refresh(); EnableButtons(); Application.UseWaitCursor = false; }
public void Unselect(IEnumerable <EntryViewModel> enumerable) { foreach (var entry in enumerable) { SelectedEntries.Remove(entry); } SelectedEntityTags = GetCommonTags(); }
private void MoveDown() { foreach (var row in SelectedEntries.Reverse()) { var index = Fields.IndexOf(row); Fields.Move(index, index + 1); } }
private void tbbDate_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e) { var selected = SelectedEntries.ToList(); if (selected.Count < 1) { return; } DoEditDates(selected); }
public void BuildContextMenus_Contents() { var menulist = new ObservableCollection <System.Windows.Controls.Control>(); var menuitem = new System.Windows.Controls.MenuItem() { Header = "開く", Command = OpenImageByDefaultProgramCommand, CommandParameter = SelectedEntries.Where(x => x is PageViewModel).Cast <PageViewModel>() }; menulist.Add(menuitem); menuitem = new System.Windows.Controls.MenuItem() { Header = "スクラップ", Command = ScrapPagesCommand, CommandParameter = SelectedEntries.Where(x => x is PageViewModel).Cast <PageViewModel>() }; menulist.Add(menuitem); var manageMenu = new System.Windows.Controls.MenuItem() { Header = "管理" }; menuitem = new System.Windows.Controls.MenuItem() { Header = "サムネイル再作成", Command = RemakeThumbnailOfPageCommand }; manageMenu.Items.Add(menuitem); menuitem = new System.Windows.Controls.MenuItem() { Header = "削除", Command = RemovePageCommand, CommandParameter = SelectedEntries.Where(x => x is PageViewModel).Cast <PageViewModel>() }; manageMenu.Items.Add(menuitem); menulist.Add(manageMenu); menulist.Add(new System.Windows.Controls.Separator()); menuitem = new System.Windows.Controls.MenuItem() { Header = "Extra", }; menuitem.SetValue(RegionManager.RegionNameProperty, "ExtraPage"); SelectManager.SelectedItems = SelectedEntries.Where(x => x is PageViewModel).Cast <object>().ToObservableCollection(); SelectManager.ElementSelectedType = typeof(PageViewModel); menulist.Add(menuitem); ContentsContextMenuItems = menulist; }
private void log_ItemSelectionChanged(object sender, ListViewItemSelectionChangedEventArgs e) { if (e.IsSelected) { SelectedEntries.Add(e.ItemIndex, EntryCache[e.ItemIndex]); } else { SelectedEntries.Remove(e.ItemIndex); } }
private void SwitchAddress(string address) { var hosts = SelectedEntries.Select(x => x.HostEntry.Hostname).Distinct(); var entriesToAdd = hosts .Where(h => !hostEntryModels.Any(entry => entry.HostEntry.Hostname == h && entry.HostEntry.Address == address)) .Select(host => { return(new HostEntry(host, address, null)); }) .ToList(); if (entriesToAdd.Count > 0) { module.ServiceProxy.AddEntries(entriesToAdd); } var entriesToEnableBefore = hosts .Select(host => hostEntryModels.FirstOrDefault(m => m.HostEntry.Hostname == host && m.HostEntry.Address == address)) .Where(m => m != null) .Select(m => m.HostEntry) .ToList(); var entriesToEnableAfter = entriesToEnableBefore .Select(e => { var newEntry = e.Clone(); newEntry.Enabled = true; return(newEntry); }).ToList(); var entriesToDisableBefore = hostEntryModels .Where(m => hosts.Any(h => h == m.HostEntry.Hostname) && !entriesToEnableBefore.Contains(m.HostEntry)) .Select(m => m.HostEntry) .ToList(); var entriesToDisableAfter = entriesToDisableBefore .Select(e => { var newEntry = e.Clone(); newEntry.Enabled = false; return(newEntry); }).ToList(); this.module.ServiceProxy.EditEntries( entriesToDisableBefore.Concat(entriesToEnableBefore).ToList(), entriesToDisableAfter.Concat(entriesToEnableAfter).ToList() ); this.UpdateData(); }
private IEnumerator <object> AddGroupTask() { using (new ControlWaitCursor(this)) using (var dialog = new AddGroupDialog()) { long categoryID = 0; yield return(Program.Database.ExecuteScalar <long>( "SELECT categoryID FROM evedata.categories WHERE name = ?", "Entity" ).Bind(() => categoryID)); int groupID = (from se in SelectedEntries where se.GroupID.HasValue select se.GroupID.Value).FirstOrDefault(); yield return(dialog.PopulateList(categoryID, groupID)); if (dialog.ShowDialog() != DialogResult.OK) { yield break; } var newGroup = dialog.Group.SelectedItem as GroupEntry; int priority = 0; if (SelectedEntries.Count() > 0) { priority = SelectedEntries.Max((pe) => pe.Priority); } using (var xact = Program.Database.CreateTransaction()) { yield return(xact); yield return(Program.Database.ExecuteSQL( "DELETE FROM enemyPriorities WHERE groupID = ? and typeID IS NULL", newGroup.ID )); yield return(Program.Database.ExecuteSQL( "REPLACE INTO enemyPriorities (groupID, priority) VALUES (?, ?)", newGroup.ID, priority )); yield return(xact.Commit()); } Program.EventBus.Broadcast(Script, "PreferenceChanged", "*"); yield return(RefreshList(new PriorityEntry { GroupID = newGroup.ID })); } }
private void InsertAbove() { var firstSelected = SelectedEntries.FirstOrDefault(); if (firstSelected == null) { return; } var index = _items.IndexOf(firstSelected); _items.Insert(index, CreateNewEntry()); }
private void InsertBelow() { var firstSelected = SelectedEntries.FirstOrDefault(); if (firstSelected == null) { return; } var index = Fields.IndexOf(firstSelected); Fields.Insert(index + 1, CreateNewEntry()); }
public void Handle(EntryModel entry) { // Check if model passed is valid if (entry.EntryMembers?.Count > 0) { SelectedEntries.Add(entry); } SelectedEntriesIsVisible = true; CreateEntryIsVisible = false; NotifyOfPropertyChange(() => CanCreateTournament); }
private void log_VirtualItemsSelectionRangeChanged(object sender, ListViewVirtualItemsSelectionRangeChangedEventArgs e) { for (int i = e.StartIndex; i <= e.EndIndex; ++i) { if (e.IsSelected) { SelectedEntries.Add(i, EntryCache[i]); } else { SelectedEntries.Remove(i); } } }
private void clear_Click(object sender, EventArgs e) { //Clear the backing store Task.Log.Clear(); //Reset the list of sessions filterSessionCombobox.Items.Clear(); //And reset the list-view control log.VirtualListSize = 0; SelectedEntries.Clear(); EntryCache.Clear(); //Finally update the UI state. EnableButtons(); }
private bool CanMoveDown() { var selectedEntries = SelectedEntries.ToArray(); if (selectedEntries.Length == 0) { return(false); } if (selectedEntries.Any(entry => Fields.IndexOf(entry) >= Fields.Count - 1)) { return(false); } return(true); }
private void CreateNewEntry() { if (LoadedFile == null || SelectedCategory == null) { throw new InvalidOperationException("Cannot add entry to unloaded file or null category!"); } CategoryEntry entry = new CategoryEntry(); SelectedCategory.Entries.Add(entry); // Add it to our collection view source so it shows up in the filtered results... ((List <CategoryEntry>)CollViewSource.Source).Add(entry); // Clear the list of currently selected entries and then add the newly created one as the only selected one. SelectedEntries.Clear(); SelectedEntries.Add(entry); }
private IEnumerator <object> AddTypeTask() { using (new ControlWaitCursor(this)) using (var dialog = new AddTypeDialog(Program.Scheduler)) { long categoryID = 0; yield return(Program.Database.ExecuteScalar <long>( "SELECT categoryID FROM evedata.categories WHERE name = ?", "Entity" ).Bind(() => categoryID)); int groupID = (from se in SelectedEntries where se.GroupID.HasValue select se.GroupID.Value).FirstOrDefault(); yield return(dialog.PopulateGroups(categoryID, groupID)); yield return(dialog.RefreshList()); if (dialog.ShowDialog() != DialogResult.OK) { yield break; } var newType = dialog.Types.SelectedItem as TypeEntry; int priority = 0; if (SelectedEntries.Count() > 0) { priority = SelectedEntries.Max((pe) => pe.Priority); } yield return(Program.Database.ExecuteSQL( "REPLACE INTO enemyPriorities (groupID, typeID, priority) VALUES (?, ?, ?)", newType.GroupID, newType.TypeID, priority )); Script.Preferences.Flush(); yield return(RefreshList(new PriorityEntry { GroupID = newType.GroupID, TypeID = newType.TypeID })); } }
private void InsertBelow() { if (Items.Count == 0) { _items.Add(CreateNewEntry()); return; } var firstSelected = SelectedEntries.FirstOrDefault(); if (firstSelected == null) { return; } var index = _items.IndexOf(firstSelected); _items.Insert(index + 1, CreateNewEntry()); }
private void InsertAbove() { var firstSelected = SelectedEntries.FirstOrDefault(); if (firstSelected == null) { return; } var index = IndexOf(firstSelected); var entry = CreateNewEntry(); if (entry == null) { return; } Insert(index, entry); }
/***************************************************************************** * FUNCTION: UpdateRowSelection * Description: * Parameters: *****************************************************************************/ private void UpdateRowSelection() { int i, selrow, selcol; SelectedEntries.Clear(); SelectedCells.Clear(); //Update row selections if (dataGridView1.SelectedRows.Count > 1) { for (i = 0; i < dataGridView1.SelectedRows.Count; i++) { selrow = (int)dataGridView1.SelectedRows[i].Cells[0].Value - 1; SelectedEntries.Add(selrow); } } else if (dataGridView1.SelectedRows.Count == 1 && CurrentSelectedRow < dataGridView1.Rows.Count) { SelectedEntries.Add((int)dataGridView1.Rows[CurrentSelectedRow].Cells[0].Value - 1); } else { } //Update cell selections for (i = 0; i < dataGridView1.SelectedCells.Count; i++) { selrow = (int)dataGridView1.SelectedCells[i].OwningRow.Cells[0].Value; selcol = (int)dataGridView1.SelectedCells[i].ColumnIndex; //Ignore header row and hidden id column if (selrow > 0 && selcol > 0) { SelectedCells.Add(new Tuple <int, int>(selrow, selcol)); if (!SelectedEntries.Contains(selrow - 1)) { SelectedEntries.Add(selrow - 1); } } } }
public virtual void EditSelectedEntry() { using (var form = new EditHostEntryForm(view.ServiceProvider, addresses)) { form.Text = Resources.EditHostEntryDialogTitle; HostEntry templateEntry = this.view.SelectedEntries.First().HostEntry; HostEntry editingEntry = templateEntry.Clone(); form.EditableFields = options.EditableFields; form.HostEntry = editingEntry; DialogResult result = view.ShowDialog(form); if (result == DialogResult.OK) { var originalEntries = SelectedEntries.Select(m => m.HostEntry).ToList(); var editedEntries = SelectedEntries.Select(entry => { var newEntry = entry.HostEntry.Clone(); this.ApplyChanges(newEntry, editingEntry, form.FieldChanges); return(newEntry); }) .ToList(); try { this.module.ServiceProxy.EditEntries(originalEntries, editedEntries); } catch (HostsFileServiceException ex) { uiService.ShowError(ex, null, Resources.ActionFailedTitle, false); return; } this.UpdateData(); } } }
private void InsertBelow() { var lastSelected = SelectedEntries.LastOrDefault(); var entry = CreateNewEntry(); if (entry == null) { return; } if (lastSelected == null) { Add(entry); } else { var index = IndexOf(lastSelected); Insert(index + 1, entry); } }
public void CreateTournament() { // Create the TournamentModel TournamentModel tournament = new TournamentModel { TournamentName = TournamentName, TournamentEntries = SelectedEntries.ToList(), CurrentRound = 0 }; // Wire up matchups TournamentLogic.CreateRounds(tournament); // Create Tournament entry // Create all TournamentEntries GlobalConfig.Connection.CreateTournament(tournament); // Handle bye matchups TournamentLogic.HandleByeMatchups(tournament); EventAggregationProvider.TMEventAggregator.PublishOnUIThread(tournament); this.TryClose(); }
public void BuildContextMenus_Books() { var menulist = new ObservableCollection <System.Windows.Controls.Control>(); var menuitem = new MenuItem() { Header = "開く", Command = OpenBookCommand }; menulist.Add(menuitem); menuitem = new MenuItem() { Header = "新しいタブで開く", Command = OpenBookInNewTabCommand }; menulist.Add(menuitem); menuitem = new MenuItem() { Header = "選択したアイテムで絞り込む", Command = FilterBooksCommand }; menulist.Add(menuitem); menuitem = new MenuItem() { Header = "送る" }; menuitem.Items.Add(new MenuItem() { Header = "新しいタブ", Command = SendBookToNewTabCommand }); foreach (var item in MainWindowViewModel.Value.DockingDocumentViewModels.Where(t => !t.ContentId.Equals("home") && !t.ContentId.Equals(ContentId))) { menuitem.Items.Add(new MenuItem() { Header = item.Title, Command = SendBookToExistTabCommand, CommandParameter = item }); } menulist.Add(menuitem); menuitem = new MenuItem() { Header = "DUMMY", Command = ChangeStarCommand, CommandParameter = SelectedEntries.Where(x => x is BookViewModel).Cast <BookViewModel>().ToObservableCollection() }; var binding = new Binding("StarLevel.Value") { Converter = new StarLevelToStringConverter(), UpdateSourceTrigger = UpdateSourceTrigger.PropertyChanged }; menuitem.SetBinding(MenuItem.HeaderProperty, binding); menulist.Add(menuitem); menuitem = new System.Windows.Controls.MenuItem() { Header = "書き出し", Command = ExportBooksCommand }; menulist.Add(menuitem); var manageMenu = new System.Windows.Controls.MenuItem() { Header = "管理" }; menuitem = new System.Windows.Controls.MenuItem() { Header = "サムネイル再作成", Command = RemakeThumbnailOfBookCommand }; manageMenu.Items.Add(menuitem); menuitem = new System.Windows.Controls.MenuItem() { Header = "削除", Command = RemoveBookCommand }; manageMenu.Items.Add(menuitem); menulist.Add(manageMenu); menuitem = new System.Windows.Controls.MenuItem() { Header = "プロパティ", Command = OpenBookPropertyDialogCommand, }; menulist.Add(menuitem); menulist.Add(new System.Windows.Controls.Separator()); menuitem = new System.Windows.Controls.MenuItem() { Header = "Extra", }; menuitem.SetValue(RegionManager.RegionNameProperty, "ExtraBook"); SelectManager.SelectedItems = SelectedEntries.Where(x => x is BookViewModel).Cast <object>().ToObservableCollection(); SelectManager.ElementSelectedType = typeof(BookViewModel); menulist.Add(menuitem); BooksContextMenuItems = menulist; }
public void AddToSelectedEntries(IEnumerable <EntryViewModel> add) { SelectedEntries.AddRange(add); }
public void AddToSelectedEntry(EntryViewModel add) { SelectedEntries.Add(add); }
public void RemoveEntry() { AvailableEntries.Add(SelectedEntryToRemove); SelectedEntries.Remove(SelectedEntryToRemove); NotifyOfPropertyChange(() => CanCreateTournament); }