如何在 gjs 中的小部件之间共享内容
How to share contents between widgets in gjs
我正在尝试创建一个简单的 Web 编辑器演示。我想要一个 web 视图小部件来呈现 gtk 源视图小部件的内容...
我绘制了小部件,但我无法从 sourceview 中获取内容以将其提供给 webview。
我想我应该使用一个缓冲区,但我不能让他们共享一个缓冲区。
那应该如何工作?
任何指针将不胜感激。
我的想法是这样的:
const htmlBuffer = new GtkSource.Buffer();
const messagehtml = new GtkSource.View(htmlBuffer);
const webView = new Webkit.WebView({ vexpand: true });
htmlBuffer.connect('changed', upDateWebView);
然后在upDateWebView()方法中,调用
webView.load_html(htmlBuffer);
所以...我终于让它像这样工作了:
const htmlBuffer = new GtkSource.Buffer();
const messagehtml = new GtkSource.View({ buffer: htmlBuffer });
const webView = new Webkit.WebView({ vexpand: true });
htmlBuffer.connect('changed', function () {
webView.load_html(htmlBuffer.text, null);
});
我正在尝试创建一个简单的 Web 编辑器演示。我想要一个 web 视图小部件来呈现 gtk 源视图小部件的内容... 我绘制了小部件,但我无法从 sourceview 中获取内容以将其提供给 webview。 我想我应该使用一个缓冲区,但我不能让他们共享一个缓冲区。 那应该如何工作? 任何指针将不胜感激。
我的想法是这样的:
const htmlBuffer = new GtkSource.Buffer();
const messagehtml = new GtkSource.View(htmlBuffer);
const webView = new Webkit.WebView({ vexpand: true });
htmlBuffer.connect('changed', upDateWebView);
然后在upDateWebView()方法中,调用
webView.load_html(htmlBuffer);
所以...我终于让它像这样工作了:
const htmlBuffer = new GtkSource.Buffer();
const messagehtml = new GtkSource.View({ buffer: htmlBuffer });
const webView = new Webkit.WebView({ vexpand: true });
htmlBuffer.connect('changed', function () {
webView.load_html(htmlBuffer.text, null);
});