private void btnSearch_Click(object sender, EventArgs e) { if (OnQuickSearchEvent == null) { return; } this.Cursor = Cursors.WaitCursor; // 검색 조건 생성 QuickSearchEventArgs args = new QuickSearchEventArgs(); args.Keyword = txtKeyword.Text.Split(new char[] { ';' }).ToList(); args.JoinCondition = ckCondition.Checked; args.FullMatch = ckFullMatch.Checked; args.AssemblyOnly = ckAssemblyOnly.Checked; args.SelectedOnly = ckSelectedOnly.Checked; args.VisibleOnly = ckVisibleOnly.Checked; // 검색 이벤트 발생 후, 결과 반환 List <Data.Node> nodes = OnQuickSearchEvent(this, args); // 검색 결과 화면 표시 lvResult.BeginUpdate(); lvResult.Items.Clear(); foreach (Data.Node item in nodes) { ListViewItem lvi = new ListViewItem(new string[] { item.NodeName, item.GetParentName(), item.NodeType == Data.NodeTypes.NODE ? "ASS'Y" : "PART" }); lvi.Tag = item; lvResult.Items.Add(lvi); } lvResult.EndUpdate(); this.Cursor = Cursors.Default; }
private List <Data.Node> SearchNode_OnQuickSearchEvent(object sender, Dialogs.QuickSearchEventArgs e) { // 검색 GUI에서 요청한 Keyword로 검색 수행 결과 반환 List <Data.Node> items = vizcore3d.Object3D.Find.QuickSearch(e.Keyword, e.JoinCondition, e.AssemblyOnly, e.VisibleOnly, e.SelectedOnly, e.FullMatch); return(vizcore3d.Object3D.UpdateNodePath(items)); }