public void OnList(ListFolderResponse e) { //lstFolders.Items.Clear(); foreach (FolderInfo item in e.Items) { FolderListViewItem vi = lstFolders.Items.Cast <FolderListViewItem>().FirstOrDefault(i => i.Info.Name == item.Name); if (vi != null) { vi.Info = item; } else { lstFolders.Items.Add(new FolderListViewItem(item)); } } List <FolderListViewItem> removes = new List <FolderListViewItem>(); foreach (FolderListViewItem vitem in lstFolders.Items.Cast <FolderListViewItem>()) { if (!e.Items.Contains(vitem.Info)) { removes.Add(vitem); } } foreach (FolderListViewItem vitem in removes) { lstFolders.Items.Remove(vitem); } }
private void cmdRun_Click(object sender, EventArgs e) { List <NodeInfo> nodes = GetNodes(); if (nodes.Count == 0) { MessageBox.Show(this, "Please select the service node for the stress test!"); return; } FolderListViewItem item = GetSelectItem(); if (item.Info.Status != DTCore.Domains.DomainStatus.Completed) { MessageBox.Show(this, "Please wait while the test case is loaded!"); return; } if (item.Info.Cases == null || item.Info.Cases.Length == 0) { MessageBox.Show(this, string.Format("{0} no test cases that can run!", item.Name)); return; } mFrmStep = new FrmStep1(); mClient.MessageRoute.Register(mFrmStep); mFrmStep.UnitTest = item.Info.Name; mFrmStep.Text = mFrmStep.UnitTest; mFrmStep.Client = mClient; mFrmStep.Nodes = nodes; mFrmStep.ShowDialog(this); }
protected override void OnKeyDown(KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { if (this.SelectedItems != null && this.SelectedItems.Count > 0) { try { FolderListViewItem item = (FolderListViewItem)this.FocusedItem; if (item != null) { var pidl = item.Pidl.Clone(); try { if (DereferenceLinks && pidl.IsLink) { // attempt to resolve links first if necessary string resolvedPath; Pidl resolvedPidl; if (ShellItem.TryResolveLink(Handle, pidl.Path, out resolvedPath) && Pidl.TryParse(resolvedPath, out resolvedPidl)) { pidl.Dispose(); pidl = resolvedPidl; } } var handled = false; var control = Parent as FolderView; if (control != null) { var args = new FolderViewItemEventArgs(new FolderViewItem(pidl)); control.OnItemKeyEnterPressed(args); handled = args.Handled; } if (AutoDrillDown && pidl.IsFolder && !handled) { // if the user pressed ENTER on a folder item, perform a drill down Browse(new ShellItem(pidl, _rootShellItem, false)); } } finally { pidl.Dispose(); } } } catch (Exception ex) { HandleBrowseException(ex); } } e.Handled = true; e.SuppressKeyPress = true; } base.OnKeyDown(e); }
protected override void OnDoubleClick(EventArgs e) { if (this.SelectedItems != null && this.SelectedItems.Count > 0) { try { Point point = this.PointToClient(Cursor.Position); FolderListViewItem item = (FolderListViewItem)this.GetItemAt(point.X, point.Y); if (item != null) { var pidl = item.Pidl.Clone(); try { if (DereferenceLinks && pidl.IsLink) { // attempt to resolve links first if necessary string resolvedPath; Pidl resolvedPidl; if (ShellItem.TryResolveLink(Handle, pidl.Path, out resolvedPath) && Pidl.TryParse(resolvedPath, out resolvedPidl)) { pidl.Dispose(); pidl = resolvedPidl; } } var handled = false; var control = Parent as FolderView; if (control != null) { var args = new FolderViewItemEventArgs(new FolderViewItem(pidl)); control.OnItemDoubleClick(args); handled = args.Handled; } if (AutoDrillDown && pidl.IsFolder && !handled) { // if the user double clicked on a folder item, perform a drill down Browse(new ShellItem(pidl, _rootShellItem, false)); } } finally { pidl.Dispose(); } } } catch (Exception ex) { HandleBrowseException(ex); } } base.OnDoubleClick(e); }
public int Compare(object x, object y) { FolderListViewItem itemX = (FolderListViewItem)x; FolderListViewItem itemY = (FolderListViewItem)y; int result = itemX.ItemClass.CompareTo(itemY.ItemClass); if (result != 0) { return(result * (_invertClassOrder ? -1 : 1)); } foreach (SortKey key in _sortKeys) { result = key.Compare(itemX, itemY); if (result != 0) { return(result * (_invertOrder[key] ? -1 : 1)); } } return(0); }