Exemple #1
0
 public void Enqueue(ItemsColumn column)
 {
     foreach (ColumnListViewItem item in column.ListViewControl.Items)
     {
         this.Enqueue(item);
     }
 }
Exemple #2
0
 private void NavigatingColumnView_SubColumnAdded(object sender, ItemsColumn column)
 {
     column.LoadItems();
     this.ScrollToLastColumn();
     if (Navigated != null)
     {
         Navigated(this, EventArgs.Empty);
     }
 }
Exemple #3
0
        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
            });
        }
Exemple #4
0
        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();
            }
        }
Exemple #5
0
        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();
        }
Exemple #6
0
        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();
            };
        }
Exemple #7
0
        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);
        }
Exemple #8
0
 public NavigatingTab(ItemsColumn column) : this()
 {
     this.ColumnView.NavigateTo(column);
     this.Text = column.GetHeaderText();
 }
Exemple #9
0
 public DragDropData(ItemsColumn srcColumn, ColumnListViewItem[] items)
 {
     SourceColumn = srcColumn;
     Items        = items;
 }
Exemple #10
0
 public void NavigateTo(ItemsColumn column)
 {
     NavigateTo(column.GetTrail());
 }