Пример #1
0
		private void SearchNextNode ()
		{
			if (_searchState == null)
				return;
			
			SearchWorker worker = new SearchWorker (_searchState);
			
			Thread t = new Thread (new ThreadStart (worker.Run));
			t.IsBackground = true;
			t.Start ();

			_searchForm = new CancelFindWindowController ();
			if (RunWindow (_searchForm) == ModalResult.Cancel) {
				worker.Cancel();
				_searchState = null;
			}
			
			t.Join();
		}
Пример #2
0
		private void SearchNode (TreeDataNode node)
		{
			if (node == null)
				return;

			if (!node.Data.CanSearchNode)
				return;

			FindWindowController form = new FindWindowController();
			if (RunWindow (form) != ModalResult.OK)
				return;

			_searchState = new SearchStateMac(this) {
				RootNode = node.Data,
				SearchName = form.NameToken,
				SearchValue = form.ValueToken,
				DiscoverCallback = SearchDiscoveryCallback,
				CollapseCallback = SearchCollapseCallback,
				EndCallback = SearchEndCallback,
			};
			
			SearchNextNode();
		}