Renamed LibraryProviderPlugin
Moved more common functionality to LibraryProvider
This commit is contained in:
parent
9b90242caa
commit
70a8460af7
6 changed files with 51 additions and 65 deletions
|
|
@ -39,6 +39,9 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
{
|
||||
public abstract class LibraryProvider
|
||||
{
|
||||
private string parentProviderKey = null;
|
||||
public string ParentProviderKey { get { return parentProviderKey; } }
|
||||
|
||||
public static RootedObjectEventHandler CollectionChanged = new RootedObjectEventHandler();
|
||||
public static RootedObjectEventHandler DataReloaded = new RootedObjectEventHandler();
|
||||
public static RootedObjectEventHandler ItemAdded = new RootedObjectEventHandler();
|
||||
|
|
@ -52,19 +55,42 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
{
|
||||
if (instance == null)
|
||||
{
|
||||
instance = new LibraryProviderSelector();
|
||||
instance = new LibraryProviderSelector(null);
|
||||
}
|
||||
|
||||
return instance;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
instance = value;
|
||||
}
|
||||
}
|
||||
|
||||
public LibraryProvider(string parentProviderKey)
|
||||
{
|
||||
this.parentProviderKey = parentProviderKey;
|
||||
}
|
||||
|
||||
#region Member Methods
|
||||
public bool HasParent
|
||||
{
|
||||
get
|
||||
{
|
||||
if (this.parentProviderKey != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Abstract Methods
|
||||
|
||||
public abstract int CollectionCount { get; }
|
||||
|
||||
public abstract bool HasParent { get; }
|
||||
|
||||
public abstract int ItemCount { get; }
|
||||
|
||||
public abstract string KeywordFilter { get; set; }
|
||||
|
|
|
|||
|
|
@ -50,12 +50,11 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
private string description;
|
||||
private FileSystemWatcher directoryWatcher = new FileSystemWatcher();
|
||||
private string keywordFilter = string.Empty;
|
||||
private string parentProviderKey = null;
|
||||
private string rootPath;
|
||||
|
||||
public LibraryProviderFileSystem(string rootPath, string description, string parentProviderKey)
|
||||
: base(parentProviderKey)
|
||||
{
|
||||
this.parentProviderKey = parentProviderKey;
|
||||
this.description = description;
|
||||
this.rootPath = rootPath;
|
||||
|
||||
|
|
@ -82,19 +81,6 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
}
|
||||
}
|
||||
|
||||
public override bool HasParent
|
||||
{
|
||||
get
|
||||
{
|
||||
if (parentProviderKey != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override int ItemCount
|
||||
{
|
||||
get
|
||||
|
|
@ -176,9 +162,9 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
{
|
||||
if (currentDirectory == ".")
|
||||
{
|
||||
if (parentProviderKey != null)
|
||||
if (ParentProviderKey != null)
|
||||
{
|
||||
return new PrintItemCollection("..", parentProviderKey);
|
||||
return new PrintItemCollection("..", ParentProviderKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ using System.ComponentModel;
|
|||
|
||||
namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
||||
{
|
||||
public class LibraryProviderFactory
|
||||
public class LibraryProviderPlugin
|
||||
{
|
||||
virtual public LibraryProvider CreateProvider(string parentKey)
|
||||
virtual public LibraryProvider CreateLibraryProvider(string parentProviderKey)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
|
@ -43,11 +43,11 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
private List<LibraryProvider> libraryProviders = new List<LibraryProvider>();
|
||||
private int selectedLibraryProvider = -1;
|
||||
|
||||
public LibraryProviderSelector()
|
||||
public LibraryProviderSelector(string parentProviderKey)
|
||||
: base(parentProviderKey)
|
||||
{
|
||||
// put in the sqlite provider
|
||||
libraryProviders.Add(LibraryProviderSQLite.Instance);
|
||||
LibraryProviderSQLite.Instance.SetParentKey(this.ProviderKey);
|
||||
|
||||
// and any directory providers (sd card provider, etc...)
|
||||
libraryProviders.Add(new LibraryProviderFileSystem(Path.Combine("C:\\", "Users", "LarsBrubaker", "Downloads"), "Downloads", this.ProviderKey));
|
||||
|
|
@ -58,10 +58,10 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
//libraryProviders.Add(new LibraryProviderFileSystem(libraryCollection, "Library Folder2", this.ProviderKey));
|
||||
|
||||
// Check for LibraryProvider factories and put them in the list too.
|
||||
PluginFinder<LibraryProviderFactory> libraryFactories = new PluginFinder<LibraryProviderFactory>();
|
||||
foreach (LibraryProviderFactory factory in libraryFactories.Plugins)
|
||||
PluginFinder<LibraryProviderPlugin> libraryProviderPlugins = new PluginFinder<LibraryProviderPlugin>();
|
||||
foreach (LibraryProviderPlugin libraryProviderPlugin in libraryProviderPlugins.Plugins)
|
||||
{
|
||||
libraryProviders.Add(factory.CreateProvider(this.ProviderKey));
|
||||
libraryProviders.Add(libraryProviderPlugin.CreateLibraryProvider(this.ProviderKey));
|
||||
}
|
||||
|
||||
providerLocationStack.Add(new PrintItemCollection("..", ProviderKey));
|
||||
|
|
@ -86,21 +86,6 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
}
|
||||
}
|
||||
|
||||
public override bool HasParent
|
||||
{
|
||||
get
|
||||
{
|
||||
if (selectedLibraryProvider == -1)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
else
|
||||
{
|
||||
return libraryProviders[selectedLibraryProvider].HasParent;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public override int ItemCount
|
||||
{
|
||||
get
|
||||
|
|
@ -151,6 +136,14 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
}
|
||||
|
||||
public override string ProviderKey
|
||||
{
|
||||
get
|
||||
{
|
||||
return LibraryProviderSelectorKey;
|
||||
}
|
||||
}
|
||||
|
||||
public static string LibraryProviderSelectorKey
|
||||
{
|
||||
get
|
||||
{
|
||||
|
|
|
|||
|
|
@ -50,11 +50,11 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
private List<PrintItemCollection> childCollections = new List<PrintItemCollection>();
|
||||
private PrintItemCollection collectionBase = GetRootLibraryCollection();
|
||||
private string keywordFilter = string.Empty;
|
||||
private string parentProviderKey = null;
|
||||
|
||||
private List<PrintItemWrapper> printItems = new List<PrintItemWrapper>();
|
||||
|
||||
public LibraryProviderSQLite()
|
||||
: base(LibraryProviderSelector.LibraryProviderSelectorKey)
|
||||
{
|
||||
LoadLibraryItems();
|
||||
}
|
||||
|
|
@ -88,19 +88,6 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
}
|
||||
}
|
||||
|
||||
public override bool HasParent
|
||||
{
|
||||
get
|
||||
{
|
||||
if (parentProviderKey != null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public override int ItemCount
|
||||
{
|
||||
get
|
||||
|
|
@ -282,9 +269,9 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
|
||||
public override PrintItemCollection GetParentCollectionItem()
|
||||
{
|
||||
if (parentProviderKey != null)
|
||||
if (ParentProviderKey != null)
|
||||
{
|
||||
return new PrintItemCollection("..", parentProviderKey);
|
||||
return new PrintItemCollection("..", ParentProviderKey);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -357,12 +344,6 @@ namespace MatterHackers.MatterControl.PrintLibrary.Provider
|
|||
LoadLibraryItems();
|
||||
}
|
||||
|
||||
public void SetParentKey(string parentKey)
|
||||
{
|
||||
this.parentProviderKey = parentKey;
|
||||
UiThread.RunOnIdle(() => LibraryProvider.OnDataReloaded(null));
|
||||
}
|
||||
|
||||
private static void AddStlOrGcode(string loadedFileName, string extension)
|
||||
{
|
||||
PrintItem printItem = new PrintItem();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue