void OnGUI() { if (unclipMethod == null) { guiClipType = GetTypeFromAllAssemblies("GUIClip"); if (guiClipType == null) { ShowCouldNotLoadError("Could not find GUIClip.", null); initErrorLevel++; return; } unclipMethod = guiClipType.GetMethod("Unclip", new Type[] { typeof(Rect) }); } Rect webViewRect = (Rect)unclipMethod.Invoke(null, new object[] { new Rect(0f, 0f, base.position.width, base.position.height) }); if (this.m_WebView == null) { this.InitWebView(webViewRect); } // fileToOpen is not null => we need to browse to the new file! if (fileToOpen != null) { UpdateUrl(); } if (Event.current.type == EventType.Layout) { if (setSizeAndPositionMethod == null) { setSizeAndPositionMethod = ReflWebViewType.GetMethod("SetSizeAndPosition"); if (setSizeAndPositionMethod == null) { ShowCouldNotLoadError("Cannot find all required methods... Found:", ReflWebViewType); return; } } setSizeAndPositionMethod.Invoke(m_WebView, new object[] { (int)webViewRect.x, (int)webViewRect.y, (int)webViewRect.width, (int)webViewRect.height }); this.UpdateDockStatusIfNeeded(); } }
private void InitWebView(Rect pos) { this.m_IsDocked = BaseDocked; if (this.m_WebView == null) { var thisWindowGuiView = BaseMParent; if (thisWindowGuiView == null) { ShowCouldNotLoadError("m_Parent property does not exit", typeof(EditorWindow)); return; } m_WebView = ScriptableObject.CreateInstance(ReflWebViewType); ReflWebViewType.GetMethod("InitWebView").Invoke(m_WebView, new object[] { thisWindowGuiView, (int)pos.x, (int)pos.y, (int)pos.width, (int)pos.height, true }); // Set hide flags ReflWebViewType.GetProperty("hideFlags").SetValue(m_WebView, HideFlags.HideAndDontSave, null); if (BaseHasFocus) { this.SetFocus(true); } ReflWebViewType.GetMethod("SetDelegateObject").Invoke(m_WebView, new object[] { this }); UpdateUrl(); this.wantsMouseMove = true; } }
public void WebViewSetFocus(bool focus) { ReflWebViewType.GetMethod("SetFocus").Invoke(this.m_WebView, new object[] { focus }); }
public void WebViewShow() { ReflWebViewType.GetMethod("Show").Invoke(this.m_WebView, new object[] { }); }
public void WebViewSetHostView(object view) { ReflWebViewType.GetMethod("SetHostView").Invoke(this.m_WebView, new object[] { view }); }
private void UpdateUrl() { loadURLMethod = ReflWebViewType.GetMethod("LoadURL"); loadURLMethod.Invoke(m_WebView, new object[] { urlText + (fileToOpen != null?"#" + fileToOpen:"") }); fileToOpen = null; }
public void Reload() { this.m_IsDocked = BaseDocked; ReflWebViewType.GetMethod("Reload").Invoke(m_WebView, new object[] {}); }