// Copyright (c) Microsoft Corporation // The Microsoft Corporation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.Collections.Generic; using Common.UI; using ManagedCommon; namespace Wox.Plugin { /// /// Public APIs that plugin can use /// public interface IPublicAPI { /// /// Change Wox query /// /// query text /// /// force requery By default, Wox will not fire query if your query is same with existing one. /// Set this to true to force Wox requerying /// void ChangeQuery(string query, bool requery = false); /// /// Restart Wox /// void RestartApp(); /// /// Get current theme /// Theme GetCurrentTheme(); /// /// Theme change event /// event ThemeChangedHandler ThemeChanged; /// /// Save all Wox settings /// void SaveAppAllSettings(); /// /// Reloads any Plugins that have the /// IReloadable implemented. It refreshes /// Plugin's in memory data with new content /// added by user. /// void ReloadAllPluginData(); /// /// Check for new Wox update /// void CheckForNewUpdate(); /// /// Show message box /// /// Message title /// Message subtitle /// Message icon path (relative path to your plugin folder) void ShowMsg(string title, string subTitle = "", string iconPath = "", bool useMainWindowAsOwner = true); /// /// Install Wox plugin /// /// Plugin path (ends with .wox) void InstallPlugin(string path); /// /// Get all loaded plugins /// List GetAllPlugins(); /// /// Show toast notification /// /// Notification main text /// Notification optional text void ShowNotification(string text, string secondaryText = null); } }