int IVsTaskProvider3.GetColumn(int iColumn, VSTASKCOLUMN[] pColumn) { if (iColumn == 0) { VSTASKCOLUMN c = new VSTASKCOLUMN(); c.bstrCanonicalName = "Test"; c.bstrHeading = "header"; c.bstrLocalizedName = "localized name"; c.bstrTip = "tip"; c.cxDefaultWidth = 200; c.cxMinWidth = 100; c.fAllowHide = 1; c.fAllowUserSort = 1; c.fDescendingSort = 1; c.fDynamicSize = 1; c.fFitContent = 1; c.fMoveable = 1; c.fShowSortArrow = 1; c.fSizeable = 1; c.fVisibleByDefault = 1; c.iField = 0; c.iImage = 0; pColumn[0] = c; return(VSConstants.S_OK); } else { return(VSConstants.E_INVALIDARG); } }
/// <include file='doc\TaskProvider.uex' path='docs/doc[@for="TaskCollection.IVsTaskProvider3.GetColumn"]/*' /> // Gets the definition of an indexed column (0 <= iColumn < nColumns). int IVsTaskProvider3.GetColumn(int iColumn, VSTASKCOLUMN[] pColumn) { return NativeMethods.E_FAIL; }
public int GetColumn(int iColumn, VSTASKCOLUMN[] pColumn) { return VSConstants.E_NOTIMPL; }
public int GetColumn(int iColumn, VSTASKCOLUMN[] pColumn) { switch ((Task.TaskFields)iColumn) { case Task.TaskFields.Class: pColumn[0].bstrCanonicalName = "Class"; pColumn[0].bstrHeading = Resources.ClassColumn; pColumn[0].bstrLocalizedName = Resources.ClassColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 91; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 1; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = -1; pColumn[0].iField = (int)Task.TaskFields.Class; pColumn[0].iImage = -1; break; case Task.TaskFields.Comment: pColumn[0].bstrCanonicalName = "Comment"; pColumn[0].bstrHeading = Resources.CommentColumn; pColumn[0].bstrLocalizedName = Resources.CommentColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 400; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 1; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = -1; pColumn[0].iField = (int)Task.TaskFields.Comment; pColumn[0].iImage = -1; break; case Task.TaskFields.File: pColumn[0].bstrCanonicalName = "File"; pColumn[0].bstrHeading = Resources.FileColumn; pColumn[0].bstrLocalizedName = Resources.FileColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 92; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 0; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = 2; pColumn[0].iField = (int)Task.TaskFields.File; pColumn[0].iImage = -1; break; case Task.TaskFields.Line: pColumn[0].bstrCanonicalName = "Line"; pColumn[0].bstrHeading = Resources.LineColumn; pColumn[0].bstrLocalizedName = Resources.LineColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 63; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 0; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = 3; pColumn[0].iField = (int)Task.TaskFields.Line; pColumn[0].iImage = -1; break; case Task.TaskFields.Priority: pColumn[0].bstrCanonicalName = "Priority"; pColumn[0].bstrHeading = "!"; pColumn[0].bstrLocalizedName = Resources.PriorityColumn; pColumn[0].bstrTip = Resources.PriorityColumn; pColumn[0].cxDefaultWidth = 22; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 0; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 0; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = -1; pColumn[0].iField = (int)Task.TaskFields.Priority; pColumn[0].iImage = -1; break; case Task.TaskFields.PriorityNumber: pColumn[0].bstrCanonicalName = "Priority Number"; pColumn[0].bstrHeading = "!#"; pColumn[0].bstrLocalizedName = Resources.PriorityNumberColumn; pColumn[0].bstrTip = Resources.PriorityNumberColumn; pColumn[0].cxDefaultWidth = 50; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 0; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 0; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 0; pColumn[0].iDefaultSortPriority = 0; pColumn[0].iField = (int)Task.TaskFields.PriorityNumber; pColumn[0].iImage = -1; break; case Task.TaskFields.Project: pColumn[0].bstrCanonicalName = "Project"; pColumn[0].bstrHeading = Resources.ProjectColumn; pColumn[0].bstrLocalizedName = Resources.ProjectColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 116; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 0; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = 1; pColumn[0].iField = (int)Task.TaskFields.Project; pColumn[0].iImage = -1; break; case Task.TaskFields.Replacement: pColumn[0].bstrCanonicalName = "Replacement"; pColumn[0].bstrHeading = Resources.ReplacementColumn; pColumn[0].bstrLocalizedName = Resources.ReplacementColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 140; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 0; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 0; pColumn[0].iDefaultSortPriority = -1; pColumn[0].iField = (int)Task.TaskFields.Replacement; pColumn[0].iImage = -1; break; case Task.TaskFields.Term: pColumn[0].bstrCanonicalName = "Term"; pColumn[0].bstrHeading = Resources.TermColumn; pColumn[0].bstrLocalizedName = Resources.TermColumn; pColumn[0].bstrTip = String.Empty; pColumn[0].cxDefaultWidth = 103; pColumn[0].cxMinWidth = 0; pColumn[0].fAllowHide = 1; pColumn[0].fAllowUserSort = 1; pColumn[0].fDescendingSort = 0; pColumn[0].fDynamicSize = 1; pColumn[0].fFitContent = 0; pColumn[0].fMoveable = 1; pColumn[0].fShowSortArrow = 1; pColumn[0].fSizeable = 1; pColumn[0].fVisibleByDefault = 1; pColumn[0].iDefaultSortPriority = -1; pColumn[0].iField = (int)Task.TaskFields.Term; pColumn[0].iImage = -1; break; default: return VSConstants.E_INVALIDARG; } return VSConstants.S_OK; }
public void GetColumns() { CodeSweep.VSPackage.TaskProvider_Accessor accessor = new CodeSweep.VSPackage.TaskProvider_Accessor(_serviceProvider); VSTASKCOLUMN expectedPriority; expectedPriority.bstrCanonicalName = "Priority"; expectedPriority.bstrHeading = "!"; expectedPriority.bstrLocalizedName = "Priority"; expectedPriority.bstrTip = "Priority"; expectedPriority.cxDefaultWidth = 22; expectedPriority.cxMinWidth = 0; expectedPriority.fAllowHide = 1; expectedPriority.fAllowUserSort = 1; expectedPriority.fDescendingSort = 0; expectedPriority.fDynamicSize = 0; expectedPriority.fFitContent = 0; expectedPriority.fMoveable = 1; expectedPriority.fShowSortArrow = 0; expectedPriority.fSizeable = 1; expectedPriority.fVisibleByDefault = 1; expectedPriority.iDefaultSortPriority = -1; expectedPriority.iField = (int)TaskFields.Priority; expectedPriority.iImage = -1; VSTASKCOLUMN expectedPriorityNumber; expectedPriorityNumber.bstrCanonicalName = "Priority Number"; expectedPriorityNumber.bstrHeading = "!#"; expectedPriorityNumber.bstrLocalizedName = "Priority Number"; expectedPriorityNumber.bstrTip = "Priority Number"; expectedPriorityNumber.cxDefaultWidth = 50; expectedPriorityNumber.cxMinWidth = 0; expectedPriorityNumber.fAllowHide = 1; expectedPriorityNumber.fAllowUserSort = 1; expectedPriorityNumber.fDescendingSort = 0; expectedPriorityNumber.fDynamicSize = 0; expectedPriorityNumber.fFitContent = 0; expectedPriorityNumber.fMoveable = 1; expectedPriorityNumber.fShowSortArrow = 0; expectedPriorityNumber.fSizeable = 1; expectedPriorityNumber.fVisibleByDefault = 0; expectedPriorityNumber.iDefaultSortPriority = 0; expectedPriorityNumber.iField = (int)TaskFields.PriorityNumber; expectedPriorityNumber.iImage = -1; VSTASKCOLUMN expectedTerm; expectedTerm.bstrCanonicalName = "Term"; expectedTerm.bstrHeading = "Term"; expectedTerm.bstrLocalizedName = "Term"; expectedTerm.bstrTip = ""; expectedTerm.cxDefaultWidth = 103; expectedTerm.cxMinWidth = 0; expectedTerm.fAllowHide = 1; expectedTerm.fAllowUserSort = 1; expectedTerm.fDescendingSort = 0; expectedTerm.fDynamicSize = 1; expectedTerm.fFitContent = 0; expectedTerm.fMoveable = 1; expectedTerm.fShowSortArrow = 1; expectedTerm.fSizeable = 1; expectedTerm.fVisibleByDefault = 1; expectedTerm.iDefaultSortPriority = -1; expectedTerm.iField = (int)TaskFields.Term; expectedTerm.iImage = -1; VSTASKCOLUMN expectedClass; expectedClass.bstrCanonicalName = "Class"; expectedClass.bstrHeading = "Class"; expectedClass.bstrLocalizedName = "Class"; expectedClass.bstrTip = ""; expectedClass.cxDefaultWidth = 91; expectedClass.cxMinWidth = 0; expectedClass.fAllowHide = 1; expectedClass.fAllowUserSort = 1; expectedClass.fDescendingSort = 0; expectedClass.fDynamicSize = 1; expectedClass.fFitContent = 0; expectedClass.fMoveable = 1; expectedClass.fShowSortArrow = 1; expectedClass.fSizeable = 1; expectedClass.fVisibleByDefault = 1; expectedClass.iDefaultSortPriority = -1; expectedClass.iField = (int)TaskFields.Class; expectedClass.iImage = -1; VSTASKCOLUMN expectedReplacement; expectedReplacement.bstrCanonicalName = "Replacement"; expectedReplacement.bstrHeading = "Replacement"; expectedReplacement.bstrLocalizedName = "Replacement"; expectedReplacement.bstrTip = ""; expectedReplacement.cxDefaultWidth = 140; expectedReplacement.cxMinWidth = 0; expectedReplacement.fAllowHide = 1; expectedReplacement.fAllowUserSort = 1; expectedReplacement.fDescendingSort = 0; expectedReplacement.fDynamicSize = 0; expectedReplacement.fFitContent = 0; expectedReplacement.fMoveable = 1; expectedReplacement.fShowSortArrow = 1; expectedReplacement.fSizeable = 1; expectedReplacement.fVisibleByDefault = 0; expectedReplacement.iDefaultSortPriority = -1; expectedReplacement.iField = (int)TaskFields.Replacement; expectedReplacement.iImage = -1; VSTASKCOLUMN expectedComment; expectedComment.bstrCanonicalName = "Comment"; expectedComment.bstrHeading = "Comment"; expectedComment.bstrLocalizedName = "Comment"; expectedComment.bstrTip = ""; expectedComment.cxDefaultWidth = 400; expectedComment.cxMinWidth = 0; expectedComment.fAllowHide = 1; expectedComment.fAllowUserSort = 1; expectedComment.fDescendingSort = 0; expectedComment.fDynamicSize = 1; expectedComment.fFitContent = 0; expectedComment.fMoveable = 1; expectedComment.fShowSortArrow = 1; expectedComment.fSizeable = 1; expectedComment.fVisibleByDefault = 1; expectedComment.iDefaultSortPriority = -1; expectedComment.iField = (int)TaskFields.Comment; expectedComment.iImage = -1; VSTASKCOLUMN expectedFile; expectedFile.bstrCanonicalName = "File"; expectedFile.bstrHeading = "File"; expectedFile.bstrLocalizedName = "File"; expectedFile.bstrTip = ""; expectedFile.cxDefaultWidth = 92; expectedFile.cxMinWidth = 0; expectedFile.fAllowHide = 1; expectedFile.fAllowUserSort = 1; expectedFile.fDescendingSort = 0; expectedFile.fDynamicSize = 0; expectedFile.fFitContent = 0; expectedFile.fMoveable = 1; expectedFile.fShowSortArrow = 1; expectedFile.fSizeable = 1; expectedFile.fVisibleByDefault = 1; expectedFile.iDefaultSortPriority = 2; expectedFile.iField = (int)TaskFields.File; expectedFile.iImage = -1; VSTASKCOLUMN expectedLine; expectedLine.bstrCanonicalName = "Line"; expectedLine.bstrHeading = "Line"; expectedLine.bstrLocalizedName = "Line"; expectedLine.bstrTip = ""; expectedLine.cxDefaultWidth = 63; expectedLine.cxMinWidth = 0; expectedLine.fAllowHide = 1; expectedLine.fAllowUserSort = 1; expectedLine.fDescendingSort = 0; expectedLine.fDynamicSize = 0; expectedLine.fFitContent = 0; expectedLine.fMoveable = 1; expectedLine.fShowSortArrow = 1; expectedLine.fSizeable = 1; expectedLine.fVisibleByDefault = 1; expectedLine.iDefaultSortPriority = 3; expectedLine.iField = (int)TaskFields.Line; expectedLine.iImage = -1; VSTASKCOLUMN expectedProject; expectedProject.bstrCanonicalName = "Project"; expectedProject.bstrHeading = "Project"; expectedProject.bstrLocalizedName = "Project"; expectedProject.bstrTip = ""; expectedProject.cxDefaultWidth = 116; expectedProject.cxMinWidth = 0; expectedProject.fAllowHide = 1; expectedProject.fAllowUserSort = 1; expectedProject.fDescendingSort = 0; expectedProject.fDynamicSize = 0; expectedProject.fFitContent = 0; expectedProject.fMoveable = 1; expectedProject.fShowSortArrow = 1; expectedProject.fSizeable = 1; expectedProject.fVisibleByDefault = 1; expectedProject.iDefaultSortPriority = 1; expectedProject.iField = (int)TaskFields.Project; expectedProject.iImage = -1; VSTASKCOLUMN[] expectedColumns = new VSTASKCOLUMN[] { expectedPriority, expectedPriorityNumber, expectedTerm, expectedClass, expectedReplacement, expectedComment, expectedFile, expectedLine, expectedProject }; VSTASKCOLUMN dummy; dummy.bstrCanonicalName = null; dummy.bstrHeading = null; dummy.bstrLocalizedName = null; dummy.bstrTip = null; dummy.cxDefaultWidth = -3; dummy.cxMinWidth = -3; dummy.fAllowHide = -3; dummy.fAllowUserSort = -3; dummy.fDescendingSort = -3; dummy.fDynamicSize = -3; dummy.fFitContent = -3; dummy.fMoveable = -3; dummy.fShowSortArrow = -3; dummy.fSizeable = -3; dummy.fVisibleByDefault = -3; dummy.iDefaultSortPriority = -3; dummy.iField = -3; dummy.iImage = -3; VSTASKCOLUMN[] column = new VSTASKCOLUMN[] { dummy }; int hr; int count; hr = accessor.GetColumnCount(out count); Assert.AreEqual(VSConstants.S_OK, hr, "GetColumnCount returned wrong hresult."); Assert.AreEqual(Enum.GetValues(typeof(TaskFields)).Length, count, "GetColumnCount returned wrong count."); for (int i = 0; i < expectedColumns.Length; ++i) { hr = accessor.GetColumn(i, column); Assert.AreEqual(VSConstants.S_OK, hr, "GetColumnCount returned wrong hresult for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].bstrCanonicalName, column[0].bstrCanonicalName, "bstrCanonicalName was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].bstrHeading, column[0].bstrHeading, "bstrHeading was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].bstrLocalizedName, column[0].bstrLocalizedName, "bstrLocalizedName was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].bstrTip, column[0].bstrTip, "bstrTip was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].cxDefaultWidth, column[0].cxDefaultWidth, "cxDefaultWidth was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].cxMinWidth, column[0].cxMinWidth, "cxMinWidth was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fAllowHide, column[0].fAllowHide, "fAllowHide was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fAllowUserSort, column[0].fAllowUserSort, "fAllowUserSort was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fDescendingSort, column[0].fDescendingSort, "fDescendingSort was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fDynamicSize, column[0].fDynamicSize, "fDynamicSize was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fFitContent, column[0].fFitContent, "fFitContent was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fMoveable, column[0].fMoveable, "fMoveable was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fShowSortArrow, column[0].fShowSortArrow, "fShowSortArrow was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fSizeable, column[0].fSizeable, "fSizeable was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].fVisibleByDefault, column[0].fVisibleByDefault, "fVisibleByDefault was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].iDefaultSortPriority, column[0].iDefaultSortPriority, "iDefaultSortPriority was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].iField, column[0].iField, "iField was wrong for " + expectedColumns[i].bstrCanonicalName + "."); Assert.AreEqual(expectedColumns[i].iImage, column[0].iImage, "iImage was wrong for " + expectedColumns[i].bstrCanonicalName + "."); } }