34 lines
901 B
C#
34 lines
901 B
C#
using Cryville.Crtr.Browsing.Actions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
|
|
namespace Cryville.Crtr.Browsing {
|
|
public interface IResourceManager {
|
|
int Count { get; }
|
|
|
|
IResourceMeta this[int index] { get; }
|
|
Uri GetItemUri(int index);
|
|
|
|
event Action ItemChanged;
|
|
bool IsReadOnly { get; }
|
|
IResourceAction GetImportAction();
|
|
void RemoveAt(int index);
|
|
|
|
void Activate();
|
|
void Deactivate();
|
|
|
|
void ApplyFilter(string filter);
|
|
}
|
|
public interface IResourceManager<out T> : IResourceManager where T : IResourceMeta {
|
|
new T this[int index] { get; }
|
|
}
|
|
public interface IPathedResourceManager<out T> : IResourceManager<T> where T : IResourceMeta {
|
|
event Action DirectoryChanged;
|
|
IList<string> CurrentDirectory { get; }
|
|
void ChangeDirectory(IEnumerable<string> dir);
|
|
bool IsDirectory(int index);
|
|
void OpenDirectory(int index);
|
|
void ReturnToDirectory(int index);
|
|
}
|
|
}
|