Contract Interfaces

TfsWorkbench.Core.Interfaces.IDisplayMode
public interface IDisplayMode : IProjectDataConsumer, IHighlightProvider
{
    // Properties
    IDataProvider DataProvider { get; set; }
    int DisplayPriority { get; }
    MenuItem MenuControl { get; }
    Visibility Visibility { get; }
}

public interface IProjectDataConsumer
{
    // Properties
    IProjectData ProjectData { get; set; }
}

public interface IHighlightProvider
{
    // Methods
    void Highlight(IWorkbenchItem workbenchItem);

    // Properties
    bool IsActive { get; }
    bool IsHighlightProvider { get; }
    string Title { get; }
}


TfsWorkbench.Core.Interfaces.IWorkbenchPlugin
public interface IWorkbenchPlugin
{
    // Properties
    IEnumerable<CommandBinding> CommandBindings { get; }
    UIElement ControlElement { get; }
    string DisplayName { get; }
    int DisplayPriority { get; }
    MenuItem MenuItem { get; }
}


TfsWorkbench.Core.Interfaces.IDataProvider
public interface IDataProvider
    {
        event EventHandler<ElementsLoadedEventArgs> ElementDataLoaded;

        event EventHandler<ElementsLoadErrorEventArgs> ElementDataLoadError;

        event EventHandler ElementSaveComplete;

        event EventHandler<ElementSaveFailedEventArgs> ElementSaveError;

        event EventHandler<MessageEventArgs> LayoutLoadError;

        event EventHandler<MessageEventArgs> LayoutSaveError;

        void BeginLoadProjectData(string filter, IProjectData projectData);
        void BeginRefreshAllProjectData(IProjectData projectData);
        void BeginSaveProjectData(IProjectData projectData);
        void ClearControlItemCollection();
        IWorkbenchItem CreateNewChild(IWorkbenchItem parent, string childType, string linkName);
        IWorkbenchItem CreateNewParent(IProjectData projectData, string typeName);
        void DeleteProjectLayout(Uri projectCollectionUri, string projectName);
        void DeleteProjectNode(IProjectData projectData, string nodePath);
        IControlItemCollection GetControlItemCollection(IWorkbenchItem workbenchItem);
        IControlItemCollection GetControlItemCollection(IProjectData projectData, string workbenchItemType);
        int GetItemCount(string filter, IProjectData projectData);
        IProjectData GetProjectLayout();
        IProjectData GetProjectLayout(Uri projectCollectionUri, string projectName);
        string GetReportFolder(IProjectData projectData);
        Uri GetReportServiceEndPoint(IProjectData projectData);
        IEnumerable<IdAndRevision> GetRevisedItemIds(string filter, IProjectData projectData, DateTime revisionDate);
        void LoadProjectNodes(IProjectData projectData);
        void RenameProjectNode(IProjectData projectData, string originalPath, string newName);
        void SaveProjectNodes(IProjectData projectData);

        string LastProjectArea { get; set; }

        string LastProjectName { get; set; }

        string LastProjectPath { get; set; }

        string LastProjectUrl { get; set; }
    }

Last edited Jan 29, 2011 at 4:06 AM by fixitchris, version 4