public void Enqueue(ItemsColumn column) { foreach (ColumnListViewItem item in column.ListViewControl.Items) { this.Enqueue(item); } }
private void NavigatingColumnView_SubColumnAdded(object sender, ItemsColumn column) { column.LoadItems(); this.ScrollToLastColumn(); if (Navigated != null) { Navigated(this, EventArgs.Empty); } }
private ColumnTreeNode getNodeFrom(ColumnData data) { ItemsColumn column = Packages.InstantiateColumn(data, Host); string key = Guid.NewGuid().ToString(); this.ImageList.Images.Add(key, column.GetIcon()); return(new ColumnTreeNode() { Text = column.GetHeaderText(), SubColumn = data, ImageKey = key, SelectedImageKey = key }); }
private void ItemsColumn_OneItemSelected(object sender, ListViewItem e) { ColumnControl c = sender as ColumnControl; ColumnListViewItem item = e as ColumnListViewItem; if (item.SubColumn == null) { return; } // Don't add existing column int i = this.Columns.IndexOf(c); if (this.Columns.Count > i + 1 && (this.Columns[i + 1] as ItemsColumn).ItemsPath == item.SubColumn.Path) { return; } // Remove columns on the right int residueCount = this.Columns.Count - i - 1; int width = residueCount > 0 ? this.Columns[i + 1].Width : this.DefaultColumnWidth; this.ScrollPanel.SuspendLayout(); UpdateScrollMinSize(); for (int j = 1; j <= residueCount; j++) { this.Columns.RemoveAt(i + 1); } if (c.ListViewControl.SelectedItems.Count == 1) { // Add new column ItemsColumn column = Packages.InstantiateColumn(item.SubColumn, Host); this.Columns.Add(column); column.Width = width; this.ScrollPanel.ResumeLayout(); if (SubColumnAdded != null) { SubColumnAdded(this, column); } } else { this.ScrollPanel.ResumeLayout(); } }
private void sidebar_AfterSelect(object sender, TreeViewEventArgs e) { ColumnTreeNode node = e.Node as ColumnTreeNode; if (node.SubColumn == null) { return; } ItemsColumn c = Packages.InstantiateColumn(node.SubColumn, this); tabBar.CurrentTab.ColumnView.NavigateTo(c.GetTrail()); tabBar.CurrentTab.ColumnView.Columns[0].Focus(); tabBar.CurrentTab.ColumnView.ScrollToLastColumn(); }
public void LoadSession() { this.Tabs.Clear(); foreach (ColumnData data in Persistence.Session) { ItemsColumn column = Packages.InstantiateColumn(data, Host); NavigatingTab tab = new NavigatingTab(column); this.Tabs.Add(tab); } int index = Persistence.GetPreference <int>("tabbar.tab_index"); index = Math.Max(0, Math.Min(index, this.Tabs.Count - 1)); base.CurrentTab = this.Tabs[index]; this.CurrentTab.ColumnView.Load += (_, e) => { this.CurrentTab.ColumnView.ScrollToLastColumn(); }; }
protected override void OnDoWork(DoWorkEventArgs e) { while (queue.Count > 0) { ColumnListViewItem item = queue.Dequeue(); ListView listView = item.ListView; ImageList images = listView.SmallImageList; ItemsColumn column = listView.Parent as ItemsColumn; Image image = column.GetIcon(item); Image final = new Bitmap(20, 20); Graphics g = Graphics.FromImage(final); g.DrawImage(image, new Rectangle(2, 2, 16, 16)); this.ReportProgress(0, new Tuple <ColumnListViewItem, Image>(item, final)); g.Dispose(); image.Dispose(); } base.OnDoWork(e); }
public NavigatingTab(ItemsColumn column) : this() { this.ColumnView.NavigateTo(column); this.Text = column.GetHeaderText(); }
public DragDropData(ItemsColumn srcColumn, ColumnListViewItem[] items) { SourceColumn = srcColumn; Items = items; }
public void NavigateTo(ItemsColumn column) { NavigateTo(column.GetTrail()); }