<ThreadSafetyStatement>Gtk# is thread aware, but not thread safe; See the <linklocation="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details.</ThreadSafetyStatement>
<para>The Adjustment object represents a value with an associated <seecref="P:Gtk.Adjustment.Lower"/> and <seecref="P:Gtk.Adjustment.Upper"/> bound, together with a <seecref="P:Gtk.Adjustment.StepIncrement"/>, <seecref="P:Gtk.Adjustment.PageIncrement"/>, and a <seecref="P:Gtk.Adjustment.PageSize"/>.</para>
<para>The Adjustment object does not update the value itself. Instead it is left up to the owner of the Adjustment to control the value. The owner of the Adjustment typically calls the <seecref="M:Gtk.Adjustment.ValueChanged"/> and <seecref="M:Gtk.Adjustment.Changed"/> methods after changing the value or its bounds, respectively. This results in the emission of the <seecref="F:Gtk.Adjustment.ValueChanged"/> or <seecref="F:Gtk.Adjustment.Changed"/> events respectively.</para>
<para>An Adjustment is used within several widgets, including <seecref="T:Gtk.SpinButton"/>, <seecref="T:Gtk.Viewport"/>, and <seecref="T:Gtk.Range"/> (which is a base class for <seecref="T:Gtk.HScrollbar"/>, <seecref="T:Gtk.VScrollbar"/>, <seecref="T:Gtk.HScale"/>, and <seecref="T:Gtk.VScale"/>).</para>
<paramname="page_size">The page size. In a <seecref="T:Gtk.Scrollbar"/> this is the size of the area that is currently visible.</param>
<remarks>
<para>When updating the values and properties of an Adjustment, remember to call the <seecref="M:Gtk.Adjustment.Changed"/> and/or <seecref="M:Gtk.Adjustment.ValueChanged"/> methods to ensure the correct events are fired.</para>
<summary>Fires the <seecref="F:Gtk.Adjustment.ValueChanged"/> event.</summary>
<remarks>
<para>This method should be called manually after changing properties to notify all listening objects that the Adjustment's <seecref="P:Gtk.Adjustment.Value"/> has changed.</para>
<summary>Fires the <seecref="F:Gtk.Adjustment.Changed"/> event.</summary>
<remarks>
<para>This method should be called manually after changing properties to notify all listening objects that one or more of the Adjustment's bounds have changed.</para>
<summary>Updates the <seecref="P:Gtk.Adjustment.Value"/> to ensure that the range between lower and upper is in the current page (i.e. between value and value + page_size).</summary>
<para>To be added: The docs for this function are very confusing, and not 100% in sync with the code of gtk+ 2.0.5.</para>
<para>If the range is larger than the page size, then only the start of it will be in the current page. The <seecref="F:Gtk.Adjustment.ValueChanged"/> event will be fired if the value changes as a result of this method.</para>
<para>In a <seecref="T:Gtk.Scrollbar"/> this increment is used when the mouse is clicked on the arrows at the top and bottom of the <seecref="T:Gtk.Scrollbar"/>, to scroll by a small amount.</para>
<para>If you set this property, you should manually call <seecref="M:Gtk.Adjustment.ChangeValue"/> so that all listening objects are notified of the change.</para>
<summary>This event is fired when <seecref="M:Gtk.Adjustment.ChangeValue"/> is called.</summary>
<remarks>
<para>This event can be handled to be notified of changes to the Adjustment's value. However, this relies on all objects that change the <seecref="P:Gtk.Adjustment.Value"/> calling <seecref="M:Gtk.Adjustment.ChangeValue"/>.</para>
<summary>This event is fired when <seecref="M:Gtk.Adjustment.Change"/> is called.</summary>
<remarks>
<para>If the Adjustment's properties change, (such as <seecref="P:Gtk.Adjustment.Upper"/>, <seecref="P:Gtk.Adjustment.Lower"/> etc.), it is up to whichever class changes the values to call <seecref="M:Gtk.Adjustment.Change"/> to ensure this event is fired.</para>
<returns>Creates a new instance of Adjustment, using the GLib-provided type</returns>
<remarks>
<para>This is a constructor used by derivative types of <seecref="T:Gtk.Adjustment"/> that would have their own GLib type assigned to it. This is not typically used by C# code.</para>