public LoadThrobber(WebThing wt) {
LoadState = Mode.LoadStarted;
- wt.WebView.LoadStarted += WebView_LoadStarted;
- wt.WebView.LoadCommitted += WebView_LoadCommitted;
- wt.WebView.LoadProgressChanged += WebView_LoadProgressChanged;
- wt.WebView.LoadFinished += WebView_LoadFinished;
-
SetSizeRequest(64, 64);
}
+ public void AttachSignals(WebView wv) {
+ wv.LoadStarted += WebView_LoadStarted;
+ wv.LoadCommitted += WebView_LoadCommitted;
+ wv.LoadProgressChanged += WebView_LoadProgressChanged;
+ wv.LoadFinished += WebView_LoadFinished;
+ }
+
protected override bool OnExposeEvent(Gdk.EventExpose e) {
Gdk.Window w = e.Window;
Gdk.GC gc = new Gdk.GC(w);
}
}
-public class Plugin {
- public Plugin(WebThing wt) {
- LoadThrobber lt = new LoadThrobber(wt);
+public class LoadThrobberPlugin : WebThingPlugin {
+ LoadThrobber lt;
+
+ public override void Init(WebThing wt) {
+ lt = new LoadThrobber(wt);
wt.AttachWidget(lt, CompassDirection.Interior);
}
+
+ public override void InitWebView(WebView wv) {
+ lt.AttachSignals(wv);
+ }
}