private void fileAndStreamSourceTree_SelectionChanged(object sender, EventArgs e) { HeaderSourceItem item = fileAndStreamSourceTree.SelectedItem as HeaderSourceItem; if (item != null && !item.AllowSelection) { fileAndStreamSourceTree.SelectedItem = null; } UpdateUseSourceState(); }
public HeaderSourceItem(HeaderSourceItem parent, string name, IInputFile inputFile, IDetector detector, bool allowSelection) { _parent = parent; _name = name; _inputFile = inputFile; _detector = detector; _allowSelection = allowSelection; if (_parent != null) { parent._children.Add(this); } }
private void buttonUseSource_Click(object sender, EventArgs e) { if (fileAndStreamSourceTree.Enabled) { HeaderSourceItem item = fileAndStreamSourceTree.SelectedItem as HeaderSourceItem; if (item != null) { UseFileAsSource(item.InputFile, item.Detector); } } else if (databaseSourceList.Enabled) { // TODO: Use database as source. } Close(); }
private void AddFileAndStreamSourceToList() { IProject project = _mainFileTree.DataSource as IProject; if (project == null) { return; } HeaderSourceItem rootNode = new HeaderSourceItem(null, "root", false); IList <IInputFile> files = project.GetInputFiles(); foreach (IInputFile file in files) { HeaderSourceItem fileNode = new HeaderSourceItem(rootNode, (new FileInfo(file.Name)).Name, false); IList <IDetector> detectors = project.GetDetectors(file); foreach (IDetector detector in detectors) { new HeaderSourceItem(fileNode, detector.Name, file, detector, true); } } fileAndStreamSourceTree.DataSource = rootNode; }
public HeaderSourceItem(HeaderSourceItem parent, string name, bool allowSelection) : this(parent, name, null, null, allowSelection) { }