PowerToys/Wox.Plugin/Feature.cs

66 lines
2.0 KiB
C#
Raw Normal View History

2016-01-06 14:45:08 +08:00
using System;
using System.Collections.Generic;
2015-11-03 03:27:46 +08:00
namespace Wox.Plugin
{
public interface IFeatures { }
public interface IContextMenu : IFeatures
{
List<Result> LoadContextMenus(Result selectedResult);
}
[Obsolete("If a plugin has a action keyword, then it is exclusive. This interface will be remove in v1.3.0")]
2015-11-03 03:27:46 +08:00
public interface IExclusiveQuery : IFeatures
{
[Obsolete("If a plugin has a action keyword, then it is exclusive. This method will be remove in v1.3.0")]
2015-11-03 03:27:46 +08:00
bool IsExclusiveQuery(Query query);
}
/// <summary>
/// Represent plugin query will be executed in UI thread directly. Don't do long-running operation in Query method if you implement this interface
/// <remarks>This will improve the performance of instant search like websearch or cmd plugin</remarks>
/// </summary>
2016-05-03 07:04:04 +08:00
[Obsolete("Wox is fast enough now, executed on ui thread is no longer needed")]
2015-11-03 03:27:46 +08:00
public interface IInstantQuery : IFeatures
{
bool IsInstantQuery(string query);
}
/// <summary>
/// Represent plugins that support internationalization
/// </summary>
public interface IPluginI18n : IFeatures
{
string GetTranslatedPluginTitle();
string GetTranslatedPluginDescription();
}
public interface IMultipleActionKeywords : IFeatures
{
event ActionKeywordsChangedEventHandler ActionKeywordsChanged;
}
public class ActionKeywordsChangedEventArgs : EventArgs
{
public string OldActionKeyword { get; set; }
public string NewActionKeyword { get; set; }
}
public delegate void ActionKeywordsChangedEventHandler(IMultipleActionKeywords sender, ActionKeywordsChangedEventArgs e);
public interface IResultUpdated : IFeatures
{
event ResultUpdatedEventHandler ResultsUpdated;
}
public delegate void ResultUpdatedEventHandler(IResultUpdated sender, ResultUpdatedEventArgs e);
public class ResultUpdatedEventArgs : EventArgs
{
public List<Result> Results;
public Query Query;
}
2015-11-03 03:27:46 +08:00
}