ウィンドウ
ドッキングウィンドウやメッセージボックスを表示する等のAPI群です。
// Retrives the API instance.
IRCXWindowAPI? api = Main.GetAPI<IRCXWindowAPI>();
// Show message box.
var response = api?.ShowMessageBox(
new RCXCaption(Main.CommonId, Caption.ExtensionName),
new RCXCaption("Are you OK?"),
IRCXWindowAPI.ButtonType.Yes_No,
IRCXWindowAPI.IconType.Question
);
if (response == IRCXWindowAPI.ResponseType.OK)
{
// Process when the response is OK.
}
WPF の WebView2 コントロールをホストするドッキングウィンドウ用の API もあります。
- 以下の URI を扱うことができます。
- 外部(インターネット、イントラネット)のサイト
- RC+ を動かす PC のローカルに配置した静的サイト
- JavaScript モジュールの動的インポートを行うために、専用の HTTP サーバーを起動することも可能です。
- RC+ を動かす PC のローカルで動作する Web アプリケーション
- アプリケーションの起動コマンド(node など)と、パラメーターが指定できます。
- パラメーターとして、${port}、${lang} を与えると、それぞれポート番号(自動割り当て)、表示言語名に置き換えます。
- アプリケーションの起動コマンド(node など)と、パラメーターが指定できます。
- Web 技術(HTML, CSS, JavaScript など)を用いて、機能を実装することができます。
- ウィンドウクローズ、コンテンツ保存時のスクリプト実行
- コンテンツ編集
- 選択されている文字列の取得およびクリップボードへの転送
- 編集メニューに対応したメッセージ("RCX.Clear", "RCX.Paste", "RCX.SelectAll", "RCX.Undo", "RCX.Redo")の送信
- F10 キーによるヘルプ表示に対応したメッセージ("RCX.ShowHelp")の送信
- ホストオブジェクトを作成すると、C# 側とやりとりすることができます。
- 以下の関数を実装した組み込みのホストオブジェクト chrome.webview.hostObjects.BuiltinBridge も使えます。
- string GetCaption(int number): 指定番号のキャプション文字列を取得する。
- string ReadConfiguration(bool global): Extension の設定データを、Base64 エンコード文字列として読み出す。
- string WriteConfiguration(bool global): Base64 エンコード文字列で与えた Extension の設定データを書き込む。
- global フラグが true の場合、設定データは、Windows のログインユーザーに共通となり、false の場合は、ログインユーザーごととなります。
- 以下の関数を実装した組み込みのホストオブジェクト chrome.webview.hostObjects.BuiltinBridge も使えます。
// Retrives the API instance.
IRCXWindowAPI? api = Main.GetAPI<IRCXWindowAPI>();
if (api != null)
{
// Show "Epson Global Portal" site in a docking window
var webVewInfo = new IRCXWindowAPI.WebViewInfo(
(_, _, _) => new Uri("https://epson.com/"),
Id,
$"{Id}.External",
new RCXCaption(CommonId, Caption.WindowTitle_External),
Main.CommonIcon
);
await api.ShowDockingWebViewWindowAsync(webViewInfo).ConfigureAwait(true);
}