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 `` `` Sends HTML out from the widget. a , a content type. an object of type a , true if the export happened successfully, false if otherwise.
- 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 `` Changes the font style by adjusting flags from bold to regular or vice-versa. For a full list of possible flags, see . a
- Method
  System.Void Selects a paragraph.
- Method
  System.Void Resets the magnification of the text to 100% (normal).
- Method
  System.Void `` `` `` Writes bytes of content from to . an object of type an object of type an object of type
- 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 This method is designed to be called after the style, indentation, or other font attributes of an editable HTML widget have changed. When this is called, it will trigger the emission of signals for paragraphs whose indentation or style has changed.
- 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 -pkg:gtkhtml-sharp

  echo "<html> <body>Hello <b>World</b></body> </html>" | mono sample.exe

- Method
  System.Void Sets up internal references to all images. FIXME: verify this.
- 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 Set up an empty widget.
- 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 -pkg:gtkhtml-sharp

  echo "<html> <body>Hello <b>World</b></body> </html>" | 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 `` Adds HTML to the end of the HTML currently being rendered by the widget. an object of type
- Method
  System.Void Selects the line the cursor is currently on.
- Method
  System.Void Removes an indent level.
- Method
  System.Void Selects all the contents. Selects all of the contents of the HTML widget.
- Method
  Gtk.HTMLStream `` `` `` Begins processing HTML. an object of type an object of type an object of type an object of type
- Method
  System.Void `` Enables or disables debugging features. an object of type , true for enabled, false for disabled
- Method
  System.Boolean Makes the edit cursor visible. a , true if the operation was a success.
- 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
- Method
  System.Void Zooms in. Zooms in the view.
- Method
  System.Void `` Inserts HTML into the existing HTML of the widget. an object of type
- Method
  System.Void `` `` Sets the font style for the widget. an object of type an object of type
- Method
  System.Void `` Unrefs an image. an object of type (TODO: explain refcounting for images.)
- Method
  System.Void `` Refs an image. an object of type
- 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 `` Preloads the image at the URL a , an image URL.
- 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
- Method
  System.Void Unrefs images.
- Method
  System.Boolean `` Invokes a delegate function to save the HTML. a an object of type , whether the operation succeeded.
- 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 -pkg:gtkhtml-sharp

  echo "<html> <body>Hello <b>World</b></body> </html>" | mono sample.exe

- Method
  System.Void `` Set whether selection is allowed in this widget. an object of type , true if selection is allowed.
- Method
  System.Void Drops all the undo information. Drops all the Undo and Redo information from the widget.
- Method
  System.Void To be added
- Method
  System.Void Zooms out. Zooms out the view.
- Method
  System.Boolean `` Execute a command on the widget. an object of type , one of the values named in . an object of type for whether the command succeeded.
- 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 The indentation level of a paragraph. an object of type
- Property
  System.String The base URL of this document. an object of type an object of type
- Property
  System.String The title of this HTML document. an object of type an object of type
- Property
  System.String The default content type. an object of type an object of type
- Property
  Gtk.HTMLParagraphStyle The style of a paragraph. an object of type an object of type
- Property
  System.Boolean To be added an object of type an object of type
- Property
  System.Double The current widget magnification level. an object of type an object of type
- Property
  Gtk.HTMLParagraphAlignment The alignment of text (right, left, center) an object of type an object of type
- Property
  System.Boolean Whether to allow framesets in this widget. an object of type an object of type
- Event
  Gtk.InsertionFontStyleChangedHandler Fired when the font style under the cursor is changed.
- 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 Fired when the base URL of the document is changed.
- Event
  System.EventHandler Fired when the size of text is changed.
- Event
  Gtk.CurrentParagraphStyleChangedHandler Fired when the text style of this paragraph is changed.
- Event
  System.EventHandler Fired after a webpage is finished loading.
- 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 Fired when a command is issued to the widget.
- 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 -pkg:gtkhtml-sharp

  mono sample.exe

- Event
  Gtk.IframeCreatedHandler Fired after an IFRAME is created.
- Event
  Gtk.ScrollHandler Fired when the widget is scrolled.
- Event
  Gtk.CurrentParagraphIndentationChangedHandler Fired when the indent level of the current paragraph is changed.
- Event
  Gtk.CurrentParagraphAlignmentChangedHandler Fired when the alignment of the current paragraph is changed.
- Event
  Gtk.InsertionColorChangedHandler Fired when the text color to insert is changed.
- 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 -pkg:gtkhtml-sharp

  mono sample.exe

  Click on the "me" link to see the message on the console.

- Event
  Gtk.SubmitHandler Fired when a form submit button is clicked.
- Event
  Gtk.RedirectHandler Fired when an HTTP redirect is received.
- 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 -pkg:gtkhtml-sharp

  mono sample.exe

  Hover in and out of the link to see the effects on the console.

- Event
  Gtk.SetBaseTargetHandler Fired when the base URL target is changed.
- Method
  System.Void `` Load a string into the HTML viewing widget. The string to load.
- Constructor
  A constructor.
  an object of type (FIXME: check this)
  an object of type
- Property
  System.String The base URL of the document. A containing the URL A containing the URL.
- Property
  System.String To be added an object of type an object of type
- Property
  System.Boolean Whether magic links (auto-recognizing URLs and making them clickable) is activated. a a
- Property
  System.Boolean Whether magic smileys (automatically recognizing smileys and turning them into small graphics) is activated. a a
- Property
  System.Boolean To be added a a
- Property
  System.Boolean Whether or not to check spelling inline by indicating misspelled words. a a
- Method
  System.Void `` `` `` `` `` Adds a header and footer to the HTML and prints it using . a a a a , a header generation routine a , a footer generation routine
- Method
  System.Void `` To be added a
- Method
  System.Void `` Prints this document using . a
- Method
  System.Int32 `` `` `` Gets the number of pages this HTML would print to given a context with the given header and footer heights. a a a a
- Event
  Gtk.ObjectRequestedHandler To be added
- Property
  System.Boolean Whether the widget has an Undo option or not. a
- Property
  GLib.GType GType Property. a Returns the native value for .
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Boolean `` Default handler for the event. a a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` `` Default handler for the event. a a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` `` `` Default handler for the event. a a a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` `` `` Default handler for the event. a a a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Boolean `` Default handler for the event. a a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` `` Default handler for the event. a a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void Default handler for the event. Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Method
  System.Void `` Default handler for the event. a Override this method in a subclass to provide a default handler for the event.
- Constructor
  Protected Constructor.
  a
  a
  Chain to this constructor if you have manually registered a native value for your subclass.
- Property
  System.IntPtr Sets the indentation level for the widget. a
- Method
  System.Void `` `` Default handler for the event. a a Override this method in a subclass to provide a default handler for the event.