protected static PreviewChangesNode CreatePreviewNode( string displayText, ushort icon, IntPtr imageList, TextChangeProposal proposal, bool forceSelection, bool enableChangeUncheck, bool isChecked) { var displayData = new VSTREEDISPLAYDATA(); if (forceSelection) { Debug.Assert(!string.IsNullOrEmpty(displayText), "display text is null or empty"); Debug.Assert(proposal != null, "proposal is null"); var length = displayText.Length; displayText = displayText.TrimStart(); var spaceLength = length - displayText.Length; displayData.State = (uint)_VSTREEDISPLAYSTATE.TDS_FORCESELECT; displayData.ForceSelectStart = (ushort)(proposal.StartColumn - spaceLength); displayData.ForceSelectLength = (ushort)(proposal.EndColumn - proposal.StartColumn); } if (imageList != IntPtr.Zero) { displayData.hImageList = imageList; } displayData.Image = displayData.SelectedImage = icon; var node = new PreviewChangesNode(displayText, displayData, displayText, null, proposal); if (enableChangeUncheck) { AddCheckBoxToPreviewNode(node, true, isChecked); } return(node); }
protected static PreviewChangesNode CreatePreviewNode( string displayText, ushort icon, IntPtr imageList, TextChangeProposal proposal, bool forceSelection, bool enableChangeUncheck, bool isChecked) { var displayData = new VSTREEDISPLAYDATA(); if (forceSelection) { Debug.Assert(!string.IsNullOrEmpty(displayText), "display text is null or empty"); Debug.Assert(proposal != null, "proposal is null"); var length = displayText.Length; displayText = displayText.TrimStart(); var spaceLength = length - displayText.Length; displayData.State = (uint)_VSTREEDISPLAYSTATE.TDS_FORCESELECT; displayData.ForceSelectStart = (ushort)(proposal.StartColumn - spaceLength); displayData.ForceSelectLength = (ushort)(proposal.EndColumn - proposal.StartColumn); } if (imageList != IntPtr.Zero) { displayData.hImageList = imageList; } displayData.Image = displayData.SelectedImage = icon; var node = new PreviewChangesNode(displayText, displayData, displayText, null, proposal); if (enableChangeUncheck) { AddCheckBoxToPreviewNode(node, true, isChecked); } return node; }