<?xml version="1.0" standalone="no"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
    "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<refentry id="class-gtkruler">
  <refnamediv>
    <refname>gtk.Ruler</refname>
    <refpurpose>a base class for horizontal or vertical rulers</refpurpose>
  </refnamediv>

  <refsect1>
    <title>Synopsis</title>

    <classsynopsis language="python">
      <ooclass><classname>gtk.Ruler</classname></ooclass>
      <ooclass><classname><link
linkend="class-gtkwidget">gtk.Widget</link></classname></ooclass>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkruler--set-metric">set_metric</link></methodname>
	<methodparam><parameter
		       role="keyword">metric</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkruler--set-range">set_range</link></methodname>
	<methodparam><parameter
		       role="keyword">lower</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">upper</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">position</parameter></methodparam>
	<methodparam><parameter
		       role="keyword">max_size</parameter></methodparam>
      </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkruler--draw-ticks">draw_ticks</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkruler--draw-pos">draw_pos</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkruler--get-metric">get_metric</link></methodname>
	<methodparam></methodparam>  </methodsynopsis>
      <methodsynopsis language="python">
	<methodname><link
linkend="method-gtkruler--get-range">get_range</link></methodname>
	<methodparam></methodparam>
      </methodsynopsis>
    </classsynopsis>

  </refsect1>

  <refsect1>
    <title>Ancestry</title>

<synopsis>+-- <link linkend="class-gobject">gobject.GObject</link>
  +-- <link linkend="class-gtkobject">gtk.Object</link>
    +-- <link linkend="class-gtkwidget">gtk.Widget</link>
      +-- <link linkend="class-gtkruler">gtk.Ruler</link>
</synopsis>

  </refsect1>
  
  <refsect1>
		<title>Implemented Interfaces</title>
		<para>
			<link linkend="class-gtkruler"><classname>gtk.Ruler</classname></link>
			implements 
			<link linkend="class-gtkbuildable"><classname>gtk.Buildable</classname></link>
		</para>
	</refsect1>


  <refsect1 id="properties-gtkruler">
    <title>gtk.Ruler Properties</title>

    <para><link linkend="properties-gtkobject">gtk.Object Properties</link></para>
    <para><link linkend="properties-gtkwidget">gtk.Widget Properties</link></para>

    <blockquote role="properties">
      <informaltable pgwide="1" frame="none">
	<tgroup cols="3">
	  <colspec column="1" colwidth="1in"/>
	  <colspec column="2" colwidth="1in"/>
	  <colspec column="3" colwidth="4in"/>
	  <tbody>

	    <row valign="top">
	      <entry>"lower"</entry>
	      <entry>Read-Write</entry>
	      <entry>the lower limit of the ruler</entry>
	    </row>

	    <row valign="top">
	      <entry>"max-size"</entry>
	      <entry>Read-Write</entry>
	      <entry>the maximum size of the ruler</entry>
	    </row>

        <row valign="top">
          <entry>"metric"</entry>
          <entry>Read-Write</entry>
          <entry>The metric used for the ruler.  This property is available
          in GTK+ 2.8 and above.</entry>
        </row>

	    <row valign="top">
	      <entry>"position"</entry>
	      <entry>Read-Write</entry>
	      <entry>the position of the mark on the ruler</entry>
	    </row>

	    <row valign="top">
	      <entry>"upper"</entry>
	      <entry>Read-Write</entry>
	      <entry>the upper limit of the ruler</entry>
	    </row>

	  </tbody>
	</tgroup>
      </informaltable>
    </blockquote>

  </refsect1>

  <refsect1 id="style-properties-gtkruler">
    <title>gtk.Ruler Style Properties</title>

    <para><link linkend="style-properties-gtkwidget">gtk.Widget Style Properties</link></para>

  </refsect1>

  <refsect1 id="signal-prototypes-gtkruler">
    <title>gtk.Ruler Signal Prototypes</title>

    <para><link linkend="signal-prototypes-gobject">gobject.GObject Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkobject">gtk.Object Signal Prototypes</link></para>
    <para><link linkend="signal-prototypes-gtkwidget">gtk.Widget Signal Prototypes</link></para>
  </refsect1>

  <refsect1>
    <title>Description</title>

    <note>
      <para>This widget is considered too specialized or little-used for
PyGTK and GTK+, and will in the future be moved to some other package. If
your application needs this widget, feel free to use it, as the widget does
work and is useful in some applications; it's just not of general interest.
However, it will eventually move out of the PyGTK and GTK+
distribution.</para>
    </note>

    <para>The <link
linkend="class-gtkruler"><classname>gtk.Ruler</classname></link> widget is a
base class for horizontal and vertical rulers. Rulers are used to show the
mouse pointer's location in a window. Within the ruler a small triangle
indicates the location of the mouse relative to the horizontal or vertical
ruler. See <link
linkend="class-gtkhruler"><classname>gtk.HRuler</classname></link> to learn
about horizontal rulers. See <link
linkend="class-gtkvruler"><classname>gtk.VRuler</classname></link> to learn
about vertical rulers.</para>

  </refsect1>

  <refsect1>
    <title>Methods</title>

    <refsect2 id="method-gtkruler--set-metric">
      <title>gtk.Ruler.set_metric</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>set_metric</methodname>
	  <methodparam><parameter
			 role="keyword">metric</parameter></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><parameter role="keyword">metric</parameter>&nbsp;:</term>
	  <listitem><simpara>the measurement units</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>set_metric</methodname>() method sets the
measurement units of the ruler to the value specified by
<parameter>metric</parameter>. Available units are
<literal>gtk.PIXELS</literal>, <literal>gtk.INCHES</literal>, or
<literal>gtk.CENTIMETERS</literal>. The default unit of measurement is
<literal>gtk.PIXELS</literal>.</para>

    </refsect2>

    <refsect2 id="method-gtkruler--set-range">
    <title>gtk.Ruler.set_range</title>

<programlisting><methodsynopsis language="python">
    <methodname>set_range</methodname>
    <methodparam><parameter role="keyword">lower</parameter></methodparam>
    <methodparam><parameter role="keyword">upper</parameter></methodparam>
    <methodparam><parameter role="keyword">position</parameter></methodparam>
    <methodparam><parameter role="keyword">max_size</parameter></methodparam>
  </methodsynopsis></programlisting>
  <variablelist>
    <varlistentry>
      <term><parameter role="keyword">lower</parameter>&nbsp;:</term>
      <listitem><simpara>the upper limit of the ruler</simpara></listitem>
    </varlistentry>
    <varlistentry>
      <term><parameter role="keyword">upper</parameter>&nbsp;:</term>
      <listitem><simpara>the lower limit of the ruler</simpara></listitem>
    </varlistentry>
    <varlistentry>
      <term><parameter role="keyword">position</parameter>&nbsp;:</term>
      <listitem><simpara>the position of the mark on the ruler</simpara></listitem>
    </varlistentry>
    <varlistentry>
      <term><parameter role="keyword">max_size</parameter>&nbsp;:</term>
      <listitem><simpara>the maximum size of the rule</simpara></listitem>
    </varlistentry>
  </variablelist>

      <para>The <methodname>set_range</methodname>() method sets the range
of the ruler to the values specified by <parameter>lower</parameter>,
<parameter>upper</parameter>, <parameter>position</parameter> and
<parameter>max_size</parameter> (all values are floats).</para>

    </refsect2>

    <refsect2 id="method-gtkruler--draw-ticks">
      <title>gtk.Ruler.draw_ticks</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>draw_ticks</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>

      <para>The <methodname>draw_ticks</methodname>() method is overridden
by the <link
linkend="class-gtkruler"><classname>gtk.Ruler</classname></link> subclasses
(<link linkend="class-gtkhruler"><classname>gtk.HRuler</classname></link>
and <link
linkend="class-gtkvruler"><classname>gtk.VRuler</classname></link>) to draw
the tick marks on the ruler. This method is not used by applications.</para>

    </refsect2>

  <refsect2 id="method-gtkruler--draw-pos">
      <title>gtk.Ruler.draw_pos</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>draw_pos</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>

      <para>The <methodname>draw_pos</methodname>() method is overridden by
the <link linkend="class-gtkruler"><classname>gtk.Ruler</classname></link>
subclasses (<link
linkend="class-gtkhruler"><classname>gtk.HRuler</classname></link> and <link
linkend="class-gtkvruler"><classname>gtk.VRuler</classname></link>) to draw
the position mark on the ruler. This method is not used by
applications.</para>

    </refsect2>

  <refsect2 id="method-gtkruler--get-metric">
      <title>gtk.Ruler.get_metric</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_metric</methodname>
	  <methodparam></methodparam>  </methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>&nbsp;:</term>
	  <listitem><simpara>the measurement units currently used for the
ruler</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_metric</methodname>() method returns the
units used for a <link
linkend="class-gtkruler"><classname>gtk.Ruler</classname></link>. See the
<link
linkend="method-gtkruler--set-metric"><methodname>set_metric</methodname>()</link> 
method.</para>

    </refsect2>

    <refsect2 id="method-gtkruler--get-range">
      <title>gtk.Ruler.get_range</title>

      <programlisting><methodsynopsis language="python">
	  <methodname>get_range</methodname>
	  <methodparam></methodparam>
	</methodsynopsis></programlisting>
      <variablelist>
	<varlistentry>
	  <term><emphasis>Returns</emphasis>>&nbsp;:</term>
	  <listitem><simpara>a tuple containing: the lower limit of the
ruler, the upper limit of the ruler, the current position of the mark on the
ruler and the maximum size of the ruler used when calculating the space to
leave for the text.</simpara></listitem>
	</varlistentry>
      </variablelist>

      <para>The <methodname>get_range</methodname>() method returns a tuple
containing the values indicating the range and current position of a <link
linkend="class-gtkruler"><classname>gtk.Ruler</classname></link>. See the
<link
linkend="method-gtkruler--set-range"><methodname>set_range</methodname>()</link> 
method.</para>

    </refsect2>

  </refsect1>

</refentry>
