gtkhtml-sharp 0.0.0.0 neutral Gtk# is thread aware, but not thread safe; See the Gtk# Thread Programming for details. Lightweight HTML rendering widget. is a lightweight HTML rendering widget, as well as as simple graphical HTML editor. Developers can also use it as a widget container (). It is an easy way for viewing HTML documents in your application and for layout UI of your application throught HTML. does not have support for CSS or JavaScript. The following sample is a very minimal web browser. using System; using System.Net; using System.IO; using Gtk; namespace HtmlTest { class HtmlTest { HTML html; Entry entry; string currentUrl; static void Main (string[] args) { new HtmlTest(); } HtmlTest() { Application.Init (); Window win = new Window ("HtmlTest"); win.SetDefaultSize (800, 600); win.DeleteEvent += new DeleteEventHandler (OnWindowDelete); VBox vbox = new VBox (false, 1); win.Add (vbox); HBox hbox = new HBox (false, 1); Label label = new Label ("Address:"); entry = new Entry (""); entry.Activated += new EventHandler (OnEntryActivated); Button button = new Button ("Go!"); button.Clicked += new EventHandler (OnButtonClicked); hbox.PackStart (label, false, false, 1); hbox.PackStart (entry, true, true, 1); hbox.PackStart (button, false, false, 1); vbox.PackStart (hbox, false, false, 1); ScrolledWindow sw = new ScrolledWindow (); sw.VscrollbarPolicy = PolicyType.Always; sw.HscrollbarPolicy = PolicyType.Always; vbox.PackStart(sw, true, true, 1); html = new HTML (); html.LinkClicked += new LinkClickedHandler (OnLinkClicked); sw.Add (html); win.ShowAll(); Application.Run (); } void OnWindowDelete (object obj, DeleteEventArgs args) { Application.Quit(); } void OnButtonClicked (object obj, EventArgs args) { currentUrl = entry.Text.Trim(); LoadHtml (currentUrl); } void OnEntryActivated (object obj, EventArgs args) { OnButtonClicked (obj, args); } void OnLinkClicked (object obj, LinkClickedArgs args) { string newUrl; // decide absolute or relative if (args.Url.StartsWith("http://")) newUrl = args.Url; else newUrl = currentUrl + args.Url; try { LoadHtml (newUrl); } catch { } currentUrl = newUrl; } void LoadHtml (string URL) { HttpWebRequest web_request = (HttpWebRequest) WebRequest.Create (URL); HttpWebResponse web_response = (HttpWebResponse) web_request.GetResponse (); Stream stream = web_response.GetResponseStream (); byte [] buffer = new byte [8192]; HTMLStream html_stream = html.Begin (); int count; while ((count = stream.Read (buffer, 0, 8192)) != 0){ html_stream.Write (buffer, count); } html.End (html_stream, HTMLStreamStatus.Ok); } } } Gtk.Layout Atk.Implementor GLib.IWrapper GLib.IWrapper System.IDisposable Method System.Void Constructs an instance of a Gtk.HTML widget A derivative object. This is a low-level routine, and should only be used to initialize an instance of a derivative class. Method System.IntPtr Locates an object whose id is provided The id assigned to an object in the HTML stream An IntPtr to the internal HTMLObject Method System.Boolean To be added an object of type an object of type an object of type To be added Method System.Void Copies the selection to the clipboard. Copies the selection into the clipboard. Method System.Void Selects the word under the cursor. This routine selects the word under the cursor. Method System.Void To be added an object of type To be added Method System.Void To be added To be added Method System.Void To be added To be added Method System.Void To be added an object of type an object of type an object of type To be added Method System.Void Undoes the last operation. If the widget is Editable, this undoes the last operation. Method System.Void Cuts the selection into the clipboard. If the widget is editable, this cuts the selection into the clipboard; Otherwise it just copies the selection into the clipboard. Method System.String Computes url from widget base url. The new component of the url. The new base-relative url. Method System.Void To be added To be added Method Gtk.HTMLStream Starts incremental content updating. A handle to push content. Use the Begin method to push new HTML content into the widget. The content type is expected to be in the format defined by , which by default is "html/text; charset=utf-8". using System; using Gtk; class X { static void Main () { Application.Init (); Window w = new Window ("Sample"); HTML html = new HTML (); w.Add (html); w.ShowAll (); HTMLStream s = html.Begin (); string line; while ((line = Console.ReadLine ()) != null) s.Write (line); html.End (s, HTMLStreamStatus.Ok); Application.Run (); } } Compile and run: mcs sample.cs -r:gtk-sharp echo " Hello World " | mono sample.exe Method System.Void To be added To be added Method System.Void Paste clipboard contents into editor Whether to paste as a citation. If the widget is in editing mode (see ), the contents of the clipboard are pasted into the HTML editor. If the value of is true, then the contents are pasted as a citation. Method System.Void To be added To be added Method System.Void Ends incremental updating The to close. The representing the state of the stream when closed. Closes the represented by and notifies the HTML widget that it should not expect any more content from that stream. using System; using Gtk; class X { static void Main () { Application.Init (); Window w = new Window ("Sample"); HTML html = new HTML (); w.Add (html); w.ShowAll (); HTMLStream s = html.Begin (); string line; while ((line = Console.ReadLine ()) != null) s.Write (line); html.End (s, HTMLStreamStatus.Ok); Application.Run (); } } Compile and run: mcs sample.cs -r:gtk-sharp echo " Hello World " | mono sample.exe Method System.Void Redoes the last Undone operation If the widget is editable, this redoes the last undone operation. Method System.Void To be added an object of type To be added Method System.Void To be added To be added Method System.Void To be added To be added Method System.Void Selects all the contents. Selects all of the contents of the HTML widget. Method Gtk.HTMLStream To be added an object of type an object of type an object of type an object of type To be added Method System.Void To be added an object of type To be added Method System.Boolean To be added an object of type To be added Method System.Void Unsupported in Gtk#. Installs hooks for the editor. an object of type an object of type This API is currently not supported. Method System.Void To be added an object of type To be added Method System.Void Zooms in. Zooms in the view. Method System.Void To be added an object of type To be added Method System.Void To be added an object of type an object of type To be added Method System.Void To be added an object of type To be added Method System.Void To be added an object of type To be added Method System.Boolean Jumps to an anchor by name, making it visible. The anchor to locate. if the anchor is found. Scroll the document display to show the HTML anchor requested. Method System.Void To be added an object of type To be added Method System.Int32 To be added an object of type an object of type an object of type an object of type an object of type To be added Method System.Void To be added To be added Method System.Boolean To be added an object of type an object of type To be added Method Gtk.HTMLStream Starts incremental content updating. With a specific content type. The content type for the data to be streamed. A handle to push content. Use the Begin method to push new HTML content into the widget. The content type has to be specified (like this for example: "html/text; charset=utf-8"). using System; using Gtk; class X { static void Main () { Application.Init (); Window w = new Window ("Sample"); HTML html = new HTML (); w.Add (html); w.ShowAll (); HTMLStream s = html.Begin ("text/html; charset=utf-8"); string line; while ((line = Console.ReadLine ()) != null) s.Write (line); html.End (s, HTMLStreamStatus.Ok); Application.Run (); } } Compile and run: mcs sample.cs -r:gtk-sharp echo " Hello World " | mono sample.exe Method System.Void To be added an object of type To be added Method System.Void Drops all the undo information. Drops all the Undo and Redo information from the widget. Method System.Void To be added To be added Method System.Void Zooms out. Zooms out the view. Method System.Boolean To be added an object of type an object of type To be added Method System.Void Disposes the resources associated with the object. Constructor Internal constructor Pointer to the C object. An instance of HTML, wrapping the C object. This is an internal constructor, and should not be used by user code. Constructor Creates an empty widget. The new constructed widget. It creates an empty widget. The returned widget is empty, and defaults to not be editable. Property System.Boolean Whether the contents can be edited. Editing state. if the contents are editable, otherwise. Whether this instance can be used as an HTML editor. Note: must be called before this can be set = . Property System.UInt32 To be added an object of type To be added Property System.String To be added an object of type an object of type To be added Property System.String To be added an object of type an object of type To be added Property System.String To be added an object of type an object of type To be added Property Gtk.HTMLParagraphStyle To be added an object of type an object of type To be added Property System.Boolean To be added an object of type an object of type To be added Property System.Double To be added an object of type an object of type To be added Property Gtk.HTMLParagraphAlignment To be added an object of type an object of type To be added Property System.Boolean To be added an object of type an object of type To be added Event Gtk.InsertionFontStyleChangedHandler To be added To be added Event Gtk.TitleChangedHandler Occurs when the title changes in HTML This event is raised when the HTML parser encounters the <title> tag on the HTML stream. To get the title, use the property. Event Gtk.SetBaseHandler To be added To be added Event System.EventHandler To be added To be added Event Gtk.CurrentParagraphStyleChangedHandler To be added To be added Event System.EventHandler To be added To be added Event Gtk.CursorMoveHandler Occurs when the cursor moves. This event is raised when the widget is in editing mode and the cursor has moved. Event Gtk.OnCommandHandler To be added To be added Event Gtk.UrlRequestedHandler Occurs when a url is Requested This event is raised when an URL is requested (typically an image). The following example shows how a simple HTML source that requests an image (hello.png). If the file is found, then it will be streamed into the HTML widget. The model allows for data to be delivered as it comes, and when the data has all arrived, the End method can be invoked on the html stream provided by the . using System; using System.IO; using Gtk; class X { static void Main () { Application.Init (); Window w = new Window ("Sample"); HTML html = new HTML (); html.UrlRequested += new UrlRequestedHandler (LoadFromDisk); w.Add (html); w.ShowAll (); HTMLStream s = html.Begin (); s.Write ("<html><body>My image: <img src=\"hello.png\"></body></html>"); html.End (s, HTMLStreamStatus.Ok); Application.Run (); } static void LoadFromDisk (object sender, UrlRequestedArgs args) { try { FileStream s = File.OpenRead (args.Url); byte [] buffer = new byte [8192]; int n; while ((n = s.Read (buffer, 0, 8192)) != 0) { args.Handle.Write (buffer, n); } args.Handle.Close (HTMLStreamStatus.Ok); } catch { // Ignore errors. } } } Make sure there is a "hello.png" file in your directory to see it, otherwise the sample will show the "broken image link" image. mcs sample.cs -r:gtk-sharp mono sample.exe Event Gtk.IframeCreatedHandler To be added To be added Event Gtk.ScrollHandler To be added To be added Event Gtk.CurrentParagraphIndentationChangedHandler To be added To be added Event Gtk.CurrentParagraphAlignmentChangedHandler To be added To be added Event Gtk.InsertionColorChangedHandler To be added To be added Event Gtk.LinkClickedHandler Occurs when the user clicks on a hyperlink This event is raised when the user clicks on a hyperlink in the HTML widget. using System; using System.IO; using Gtk; class X { static void Main () { Application.Init (); Window w = new Window ("Sample"); HTML html = new HTML ("<html><body>Click <a href=\"http://www.go-mono.com\">me</a>"); html.LinkClicked += new LinkClickedHandler (OnLinkClicked); w.Add (html); w.ShowAll (); Application.Run (); } static void OnLinkClicked (object o, LinkClickedArgs args) { Console.WriteLine ("The link clicked url is: " + args.Url); } } mcs sample.cs -r:gtk-sharp mono sample.exe Click on the "me" link to see the message on the console. Event Gtk.SubmitHandler To be added To be added Event Gtk.RedirectHandler To be added To be added Event Gtk.OnUrlHandler Occurs when the user hovers over a hyper-link. This event is raised when the mouse pointer hovers over a hyper link or leaves a link. In the former case the value of is the link target, and in the later the empty string. using System; using System.IO; using Gtk; class X { static void Main () { Application.Init (); Window w = new Window ("Sample"); HTML html = new HTML ("<html><body>Click <a href=\"http://www.go-mono.com\">me</a>"); html.OnUrl += new OnUrlHandler (OnUrl); w.Add (html); w.ShowAll (); Application.Run (); } static void OnUrl (object o, OnUrlArgs args) { Console.WriteLine ("The mouse is over: " + args.Url); } } mcs sample.cs -r:gtk-sharp mono sample.exe Hover in and out of the link to see the effects on the console. Event Gtk.SetBaseTargetHandler To be added To be added Method System.Void To be added To be added: an object of type 'string' To be added Constructor To be added an object of type an object of type To be added Property System.String To be added an object of type an object of type To be added Property System.String To be added an object of type an object of type To be added Property System.Boolean To be added a a To be added Property System.Boolean To be added a a To be added Property System.Boolean To be added a a To be added Property System.Boolean To be added a a To be added Method System.Void To be added a a a a a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Int32 To be added a a a a To be added Event Gtk.ObjectRequestedHandler To be added To be added Property System.Boolean To be added a To be added Property GLib.GType To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Boolean To be added a a To be added Method System.Void To be added a To be added Method System.Void To be added a a To be added Method System.Void To be added a a a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a a a To be added Method System.Void To be added a To be added Method System.Void To be added a a To be added Method System.Boolean To be added a a To be added Method System.Void To be added a a To be added Method System.Void To be added To be added Method System.Void To be added a To be added Method System.Void To be added To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Method System.Void To be added a To be added Constructor To be added a a To be added Property System.IntPtr To be added a To be added