Sophie

Sophie

distrib > Fedora > 18 > x86_64 > by-pkgid > b3a1f4d91c26f535919e39e25606614a > files > 1944

wt-doc-3.2.3-1.fc18.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Wt: Wt::WPaintedWidget Class Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">Wt
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="inherits.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><a class="el" href="namespaceWt.html">Wt</a>      </li>
      <li class="navelem"><a class="el" href="classWt_1_1WPaintedWidget.html">WPaintedWidget</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a>  </div>
  <div class="headertitle">
<div class="title">Wt::WPaintedWidget Class Reference<div class="ingroups"><a class="el" href="group__painting.html">Painting system</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="Wt::WPaintedWidget" --><!-- doxytag: inherits="Wt::WInteractWidget" -->
<p>A widget that is painted using vector graphics.  
 <a href="classWt_1_1WPaintedWidget.html#details">More...</a></p>

<p><code>#include &lt;Wt/WPaintedWidget&gt;</code></p>
<div class="dynheader">
Inheritance diagram for Wt::WPaintedWidget:</div>
<div class="dyncontent">
<div class="center"><img src="classWt_1_1WPaintedWidget__inherit__graph.png" border="0" usemap="#Wt_1_1WPaintedWidget_inherit__map" alt="Inheritance graph"/></div>
<map name="Wt_1_1WPaintedWidget_inherit__map" id="Wt_1_1WPaintedWidget_inherit__map">
<area shape="rect" href="classWt_1_1Chart_1_1WAbstractChart.html" title="Abstract base class for MVC&#45;based charts." alt="" coords="103,379,281,405"/><area shape="rect" href="classWt_1_1WInteractWidget.html" title="An abstract widget that can receive user&#45;interface interaction." alt="" coords="120,229,264,256"/><area shape="rect" href="classWt_1_1WWebWidget.html" title="A base class for widgets with an HTML counterpart." alt="" coords="128,155,256,181"/><area shape="rect" href="classWt_1_1WWidget.html" title="The abstract base class for a user&#45;interface component." alt="" coords="143,80,241,107"/><area shape="rect" href="classWt_1_1WObject.html" title="A base class for objects that participate in the signal/slot system." alt="" coords="144,5,240,32"/><area shape="rect" href="classWt_1_1Chart_1_1WCartesianChart.html" title="A cartesian chart." alt="" coords="5,453,189,480"/><area shape="rect" href="classWt_1_1Chart_1_1WPieChart.html" title="A pie chart." alt="" coords="213,453,360,480"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classWt_1_1WPaintedWidget-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Method</a> { <a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923aeea4494d5f2a458fbdacea02d1e009a3">InlineSvgVml</a>, 
<a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923ace6fa43830fac95b0f042cd1438e41df">HtmlCanvas</a>, 
<a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923a21638ccefa8f41adf2fde2986a8e02ec">PngImage</a>
 }</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Enumeration that indicates a rendering method.  <a href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afdb2dbe95de7b97d77a1778724395db6"></a><!-- doxytag: member="Wt::WPaintedWidget::WPaintedWidget" ref="afdb2dbe95de7b97d77a1778724395db6" args="(WContainerWidget *parent=0)" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#afdb2dbe95de7b97d77a1778724395db6">WPaintedWidget</a> (<a class="el" href="classWt_1_1WContainerWidget.html">WContainerWidget</a> *parent=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new painted widget. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e28c52034a50cb9c2c2e7a9e979a90c"></a><!-- doxytag: member="Wt::WPaintedWidget::~WPaintedWidget" ref="a3e28c52034a50cb9c2c2e7a9e979a90c" args="()" -->
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a3e28c52034a50cb9c2c2e7a9e979a90c">~WPaintedWidget</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a2a3a3be8b9a8c6d56fad4b64b370fdd4">setPreferredMethod</a> (<a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Method</a> method)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the preferred rendering method.  <a href="#a2a3a3be8b9a8c6d56fad4b64b370fdd4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Method</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a701e81be3104d98a02f4cf7da9ec3a7f">preferredMethod</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the preferred rendering method.  <a href="#a701e81be3104d98a02f4cf7da9ec3a7f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a3d4b42ac400fb9ba56c6b02aa4615775">update</a> (WFlags&lt; <a class="el" href="namespaceWt.html#a23a1002020ee93ed4679d351b7350de3">PaintFlag</a> &gt; flags=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Lets the widget repaint itself.  <a href="#a3d4b42ac400fb9ba56c6b02aa4615775"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319">resize</a> (const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;width, const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Resizes the widget.  <a href="#aa57b940110d240951d0e3a6d03390319"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#ac4c031c7ab47e85f27aac09b7fc37bea">addArea</a> (<a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *area)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds an interactive area.  <a href="#ac4c031c7ab47e85f27aac09b7fc37bea"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#af11281366adb6c4d7966b3b19651ea0f">insertArea</a> (int index, <a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *area)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Inserts an interactive area.  <a href="#af11281366adb6c4d7966b3b19651ea0f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a0147ad94c849d437be8bfde14df579a5">removeArea</a> (<a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *area)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes an interactive area.  <a href="#a0147ad94c849d437be8bfde14df579a5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a38786c86ffb7c62ee13b18f0874cb262">area</a> (int index) const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the interactive area at the given index.  <a href="#a38786c86ffb7c62ee13b18f0874cb262"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const std::vector<br class="typebreak"/>
&lt; <a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#ae3cfb09afc47aa57c1ca9fda0e3cbb5e">areas</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the interactive areas set for this widget.  <a href="#ae3cfb09afc47aa57c1ca9fda0e3cbb5e"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a0c4a7fd06c6e3092283dedc02214f64e">layoutSizeChanged</a> (int width, int height)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual method that indicates a size change.  <a href="#a0c4a7fd06c6e3092283dedc02214f64e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Method</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#ae49b88e237977247971ed57bbe66ebf5">getMethod</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the actual method used for rendering.  <a href="#ae49b88e237977247971ed57bbe66ebf5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#ad8ce22eff41754c8616f45851f57fb1a">paintEvent</a> (<a class="el" href="classWt_1_1WPaintDevice.html">WPaintDevice</a> *paintDevice)=0</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Paints the widget.  <a href="#ad8ce22eff41754c8616f45851f57fb1a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classWt_1_1WPaintedWidget.html#a15c48f15b7b920ab2577caade798a2fd">enableAjax</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Progresses to an Ajax-enabled widget.  <a href="#a15c48f15b7b920ab2577caade798a2fd"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>A widget that is painted using vector graphics. </p>
<p>A painted widget is rendered from basic drawing primitives. Rendering is done not on the server but on the browser, using different rendering methods:</p>
<table class="doxtable">
<tr>
<td><b>Browser</b></td><td><b>Methods</b> </td><td><b>Default method</b> </td></tr>
<tr>
<td>Firefox 1.5+</td><td>HtmlCanvas, InlineSVG, PngImage </td><td>HtmlCanvas </td></tr>
<tr>
<td>Internet Explorer 6.0+</td><td>InlineVML, PngImage </td><td>InlineVML </td></tr>
<tr>
<td>Internet Explorer 9+</td><td>HtmlCanvas, InlineSVG, PngImage </td><td>HtmlCanvas </td></tr>
<tr>
<td>Safari</td><td>HtmlCanvas, InlineSVG, PngImage </td><td>HtmlCanvas </td></tr>
<tr>
<td>Opera</td><td>InlineSVG, HtmlCanvas*, PngImage </td><td>InlineSVG </td></tr>
<tr>
<td>other</td><td>?</td><td>HtmlCanvas, PngImage </td></tr>
</table>
<p><em>* HtmlCanvas occasionally suffers from rendering artefacts in Opera.</em></p>
<p>The different rendering methods correspond to different <a class="el" href="classWt_1_1WPaintDevice.html" title="The abstract base class for a paint device.">WPaintDevice</a> implementations, from which this widget choses a suitable one depending on the browser capabilities and configuration.</p>
<p>If no JavaScript is available, the JavaScript-based HtmlCanvas will not be used, and InlineSVG will be used instead. The method used may be changed by using <a class="el" href="classWt_1_1WPaintedWidget.html#a2a3a3be8b9a8c6d56fad4b64b370fdd4" title="Sets the preferred rendering method.">setPreferredMethod()</a>.</p>
<p>In some browsers, InlineSVG requires that the document is rendered as XHTML. This must be enabled in the configuration file using the <code>&lt;send-xhtml-mime-type&gt;</code> option. By default, this option is off. Firefox 4 and Chrome do support svg in normal html mode.</p>
<p>The PngImage is the most portable rendering method, and may be the fastest if the painting is of high complexity and/or the image is fairly small.</p>
<p>To use a WPaintedWidget, you must derive from it and reimplement <a class="el" href="classWt_1_1WPaintedWidget.html#ad8ce22eff41754c8616f45851f57fb1a" title="Paints the widget.">paintEvent(WPaintDevice *paintDevice)</a>. To paint on a <a class="el" href="classWt_1_1WPaintDevice.html" title="The abstract base class for a paint device.">WPaintDevice</a>, you will need to use a <a class="el" href="classWt_1_1WPainter.html" title="Vector graphics painting class.">WPainter</a>. Repainting is triggered by calling the <a class="el" href="classWt_1_1WPaintedWidget.html#a3d4b42ac400fb9ba56c6b02aa4615775" title="Lets the widget repaint itself.">update()</a> method.</p>
<p>Usage example: </p>
<div class="fragment"><pre class="fragment"> <span class="keyword">class </span>MyPaintedWidget : <span class="keyword">public</span> Wt::<a class="code" href="classWt_1_1WPaintedWidget.html#afdb2dbe95de7b97d77a1778724395db6" title="Create a new painted widget.">WPaintedWidget</a>
 {
 <span class="keyword">public</span>:
   MyPaintedWidget(<a class="code" href="classWt_1_1WContainerWidget.html" title="A widget that holds and manages child widgets.">Wt::WContainerWidget</a> *parent = 0)
     : Wt::<a class="code" href="classWt_1_1WPaintedWidget.html#afdb2dbe95de7b97d77a1778724395db6" title="Create a new painted widget.">WPaintedWidget</a>(parent),
       foo_(100)
   {
      <a class="code" href="classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319" title="Resizes the widget.">resize</a>(200, 200); <span class="comment">// provide a default size</span>
   }

   <span class="keywordtype">void</span> setFoo(<span class="keywordtype">int</span> foo) {
      foo_ = foo;
      <a class="code" href="classWt_1_1WPaintedWidget.html#a3d4b42ac400fb9ba56c6b02aa4615775" title="Lets the widget repaint itself.">update</a>(); <span class="comment">// trigger a repaint</span>
   }

 <span class="keyword">protected</span>:
   <span class="keywordtype">void</span> <a class="code" href="classWt_1_1WPaintedWidget.html#ad8ce22eff41754c8616f45851f57fb1a" title="Paints the widget.">paintEvent</a>(<a class="code" href="classWt_1_1WPaintDevice.html" title="The abstract base class for a paint device.">Wt::WPaintDevice</a> *paintDevice) {
     <a class="code" href="classWt_1_1WPainter.html" title="Vector graphics painting class.">Wt::WPainter</a> painter(paintDevice);
     painter.drawLine(20, 20, foo_, foo_);
     ...
   }

 <span class="keyword">private</span>:
   <span class="keywordtype">int</span> foo_;
 };
</pre></div><h3>CSS</h3>
<p>Styling through CSS is not applicable.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>A WPaintedWidget requires that it is given a size using <a class="el" href="classWt_1_1WPaintedWidget.html#aa57b940110d240951d0e3a6d03390319" title="Resizes the widget.">resize()</a> or by a layout manager.</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WImage.html" title="A widget that displays an image.">WImage</a> </dd></dl>
</div><hr/><h2>Member Enumeration Documentation</h2>
<a class="anchor" id="afa5ee04c391e6ac67d58740fc80c6923"></a><!-- doxytag: member="Wt::WPaintedWidget::Method" ref="afa5ee04c391e6ac67d58740fc80c6923" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Wt::WPaintedWidget::Method</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Enumeration that indicates a rendering method. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="afa5ee04c391e6ac67d58740fc80c6923aeea4494d5f2a458fbdacea02d1e009a3"></a><!-- doxytag: member="InlineSvgVml" ref="afa5ee04c391e6ac67d58740fc80c6923aeea4494d5f2a458fbdacea02d1e009a3" args="" -->InlineSvgVml</em>&nbsp;</td><td>
<p>SVG (Most browsers) or VML (Internet Explorer &lt; 9) embedded in the page. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="afa5ee04c391e6ac67d58740fc80c6923ace6fa43830fac95b0f042cd1438e41df"></a><!-- doxytag: member="HtmlCanvas" ref="afa5ee04c391e6ac67d58740fc80c6923ace6fa43830fac95b0f042cd1438e41df" args="" -->HtmlCanvas</em>&nbsp;</td><td>
<p>The WHATWG HTML 5 canvas element. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="afa5ee04c391e6ac67d58740fc80c6923a21638ccefa8f41adf2fde2986a8e02ec"></a><!-- doxytag: member="PngImage" ref="afa5ee04c391e6ac67d58740fc80c6923a21638ccefa8f41adf2fde2986a8e02ec" args="" -->PngImage</em>&nbsp;</td><td>
<p>Using a PNG image resource. </p>
</td></tr>
</table>
</dd>
</dl>

<p>Reimplemented from <a class="el" href="classWt_1_1WObject.html#a6ef714d6ef0060b78c039e729b913aa9">Wt::WObject</a>.</p>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ac4c031c7ab47e85f27aac09b7fc37bea"></a><!-- doxytag: member="Wt::WPaintedWidget::addArea" ref="ac4c031c7ab47e85f27aac09b7fc37bea" args="(WAbstractArea *area)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::addArea </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *&#160;</td>
          <td class="paramname"><em>area</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Adds an interactive area. </p>
<p>Adds the <code>area</code> which listens to events in a specific region of the widget. Areas are organized in a list, to which the given <code>area</code> is appended. When areas overlap, the area with the lowest index receives the event.</p>
<p>Ownership of the <code>area</code> is transferred to the widget.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>When defining at least one area, no more events will propagate to the widget itself. As a work-around, you can emulate this by listening for events on a <a class="el" href="classWt_1_1WRectArea.html" title="A interactive area in a widget, specified by a rectangle.">WRectArea</a> that corresponds to the whole widget, and which is added as the last area (catching all events that were not caught by preceding areas).</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WPaintedWidget.html#af11281366adb6c4d7966b3b19651ea0f" title="Inserts an interactive area.">insertArea(int, WAbstractArea *)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a38786c86ffb7c62ee13b18f0874cb262"></a><!-- doxytag: member="Wt::WPaintedWidget::area" ref="a38786c86ffb7c62ee13b18f0874cb262" args="(int index) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> * Wt::WPaintedWidget::area </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the interactive area at the given index. </p>
<p>Returns <code>0</code> if <code>index</code> was invalid.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WPaintedWidget.html#af11281366adb6c4d7966b3b19651ea0f" title="Inserts an interactive area.">insertArea(int, WAbstractArea *)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="ae3cfb09afc47aa57c1ca9fda0e3cbb5e"></a><!-- doxytag: member="Wt::WPaintedWidget::areas" ref="ae3cfb09afc47aa57c1ca9fda0e3cbb5e" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt; <a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> * &gt; Wt::WPaintedWidget::areas </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the interactive areas set for this widget. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WPaintedWidget.html#ac4c031c7ab47e85f27aac09b7fc37bea" title="Adds an interactive area.">addArea()</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a15c48f15b7b920ab2577caade798a2fd"></a><!-- doxytag: member="Wt::WPaintedWidget::enableAjax" ref="a15c48f15b7b920ab2577caade798a2fd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::enableAjax </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Progresses to an Ajax-enabled widget. </p>
<p>This method is called when the progressive bootstrap method is used, and support for AJAX has been detected. The default behavior will upgrade the widget's event handling to use AJAX instead of full page reloads, and propagate the call to its children.</p>
<p>You may want to reimplement this method if you want to make changes to widget when AJAX is enabled. You should always call the base implementation.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WApplication.html#a78016406c4746c56b2c2ffce7c5e181f" title="Progresses to an Ajax-enabled user interface.">WApplication::enableAjax()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classWt_1_1WWebWidget.html#a8e1d7c93f533be68e3d4ee34f65486fd">Wt::WWebWidget</a>.</p>

</div>
</div>
<a class="anchor" id="ae49b88e237977247971ed57bbe66ebf5"></a><!-- doxytag: member="Wt::WPaintedWidget::getMethod" ref="ae49b88e237977247971ed57bbe66ebf5" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">WPaintedWidget::Method</a> Wt::WPaintedWidget::getMethod </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the actual method used for rendering. </p>
<p>The default method considers browser capabilites and the preferred method to make an actual choice for the implementation.</p>
<p>You may want to reimplement this method to override this choice. </p>

</div>
</div>
<a class="anchor" id="af11281366adb6c4d7966b3b19651ea0f"></a><!-- doxytag: member="Wt::WPaintedWidget::insertArea" ref="af11281366adb6c4d7966b3b19651ea0f" args="(int index, WAbstractArea *area)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::insertArea </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *&#160;</td>
          <td class="paramname"><em>area</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Inserts an interactive area. </p>
<p>Inserts the <code>area</code> which listens to events in the coresponding area of the widget. Areas are organized in a list, and the <em>area</em> is inserted at index <code>index</code>. When areas overlap, the area with the lowest index receives the event.</p>
<p>Ownership of the <code>Area</code> is transferred to the widget.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>When defining at least one area, no more events will propagate to the widget itself. As a work-around, you can emulate this by listening for events on a <a class="el" href="classWt_1_1WRectArea.html" title="A interactive area in a widget, specified by a rectangle.">WRectArea</a> that corresponds to the whole widget, and which is added as the last area (catching all events that were not caught by preceding areas).</dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WPaintedWidget.html#ac4c031c7ab47e85f27aac09b7fc37bea" title="Adds an interactive area.">addArea(WAbstractArea *)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a0c4a7fd06c6e3092283dedc02214f64e"></a><!-- doxytag: member="Wt::WPaintedWidget::layoutSizeChanged" ref="a0c4a7fd06c6e3092283dedc02214f64e" args="(int width, int height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::layoutSizeChanged </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [protected, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Virtual method that indicates a size change. </p>
<p>This method propagates the client-side width and height of the widget when the widget is contained by a layout manager and setLayoutSizeAware(true) was called.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WWidget.html#a4f83592912a7f8fa4fd35dadde78ee74" title="Sets the widget to be aware of its size set by a layout manager.">setLayoutSizeAware()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classWt_1_1WWidget.html#af432588db3d599f89b54121f2ede8d63">Wt::WWidget</a>.</p>

</div>
</div>
<a class="anchor" id="ad8ce22eff41754c8616f45851f57fb1a"></a><!-- doxytag: member="Wt::WPaintedWidget::paintEvent" ref="ad8ce22eff41754c8616f45851f57fb1a" args="(WPaintDevice *paintDevice)=0" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void Wt::WPaintedWidget::paintEvent </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WPaintDevice.html">WPaintDevice</a> *&#160;</td>
          <td class="paramname"><em>paintDevice</em></td><td>)</td>
          <td><code> [protected, pure virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Paints the widget. </p>
<p>You should reimplement this method to paint the contents of the widget, using the given paintDevice. </p>

<p>Implemented in <a class="el" href="classWt_1_1Chart_1_1WCartesianChart.html#a3c9c7e5fd246fd0d3e0efa0cd29dd997">Wt::Chart::WCartesianChart</a>, and <a class="el" href="classWt_1_1Chart_1_1WPieChart.html#ab1653eea26f873b295a7350bd0dbb9ac">Wt::Chart::WPieChart</a>.</p>

</div>
</div>
<a class="anchor" id="a701e81be3104d98a02f4cf7da9ec3a7f"></a><!-- doxytag: member="Wt::WPaintedWidget::preferredMethod" ref="a701e81be3104d98a02f4cf7da9ec3a7f" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Method</a> Wt::WPaintedWidget::preferredMethod </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the preferred rendering method. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WPaintedWidget.html#a2a3a3be8b9a8c6d56fad4b64b370fdd4" title="Sets the preferred rendering method.">setPreferredMethod(Method)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a0147ad94c849d437be8bfde14df579a5"></a><!-- doxytag: member="Wt::WPaintedWidget::removeArea" ref="a0147ad94c849d437be8bfde14df579a5" args="(WAbstractArea *area)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::removeArea </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WAbstractArea.html">WAbstractArea</a> *&#160;</td>
          <td class="paramname"><em>area</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Removes an interactive area. </p>
<p>Removes the <code>area</code> from this widget, returning the ownership.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WPaintedWidget.html#ac4c031c7ab47e85f27aac09b7fc37bea" title="Adds an interactive area.">addArea(WAbstractArea *)</a> </dd></dl>

</div>
</div>
<a class="anchor" id="aa57b940110d240951d0e3a6d03390319"></a><!-- doxytag: member="Wt::WPaintedWidget::resize" ref="aa57b940110d240951d0e3a6d03390319" args="(const WLength &amp;width, const WLength &amp;height)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::resize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classWt_1_1WLength.html">WLength</a> &amp;&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Resizes the widget. </p>
<p>Specifies a fixed size for this widget, setting CSS <code>width</code> and <code>height</code> properties. By default a widget has automatic width and height, which sets a size for the widget following CSS rules.</p>
<p>When the widget is not managed by a layout manager, the automatic (natural) size of a widget depends on whether they widget is a <em>block</em> or <em>inline</em> widget:</p>
<ul>
<li>a <em>block</em> widget takes by default the width of the parent, and the height that it needs based on its contents</li>
<li>an <em>inline</em> widget takes the width and height that it needs based on its contents (possibly wrapping over multiple lines). The width and height of an inline widget cannot be changed (by the letter of CSS, although most browsers will react to it in varying ways).</li>
</ul>
<p>When inserted in a layout manager, the size set will be used as a widget's preferred size, but the widget may be given a different size by the layout manager based on available space and stretch factors. The actual size given by a layout manager may be retrieved by making the widget "layout size aware", using <a class="el" href="classWt_1_1WWidget.html#a4f83592912a7f8fa4fd35dadde78ee74" title="Sets the widget to be aware of its size set by a layout manager.">setLayoutSizeAware()</a>. If you have defined a <code>"wtResize()"</code> JavaScript method for the widget, then this method will also be called.</p>
<p>The default width and height of a widget is <a class="el" href="classWt_1_1WLength.html#a0cf39ca4225776879d56ade60320c31a" title="An &#39;auto&#39; length.">WLength::Auto</a>.</p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="classWt_1_1WWebWidget.html#a66ea6d827d488a855abc7a36d8d414ca" title="Returns the width.">width()</a>, <a class="el" href="classWt_1_1WWebWidget.html#a890a25fe2e8567525f44c0d2ecf0547b" title="Returns the height.">height()</a> </dd></dl>

<p>Reimplemented from <a class="el" href="classWt_1_1WWebWidget.html#a4762c1aa0b5788e54a52270674f21e23">Wt::WWebWidget</a>.</p>

</div>
</div>
<a class="anchor" id="a2a3a3be8b9a8c6d56fad4b64b370fdd4"></a><!-- doxytag: member="Wt::WPaintedWidget::setPreferredMethod" ref="a2a3a3be8b9a8c6d56fad4b64b370fdd4" args="(Method method)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::setPreferredMethod </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classWt_1_1WPaintedWidget.html#afa5ee04c391e6ac67d58740fc80c6923">Method</a>&#160;</td>
          <td class="paramname"><em>method</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Sets the preferred rendering method. </p>
<p>When <code>method</code> is supported by the browser, then it is chosen for rendering. </p>

</div>
</div>
<a class="anchor" id="a3d4b42ac400fb9ba56c6b02aa4615775"></a><!-- doxytag: member="Wt::WPaintedWidget::update" ref="a3d4b42ac400fb9ba56c6b02aa4615775" args="(WFlags&lt; PaintFlag &gt; flags=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void Wt::WPaintedWidget::update </td>
          <td>(</td>
          <td class="paramtype">WFlags&lt; <a class="el" href="namespaceWt.html#a23a1002020ee93ed4679d351b7350de3">PaintFlag</a> &gt;&#160;</td>
          <td class="paramname"><em>flags</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Lets the widget repaint itself. </p>
<p>Repainting is not immediate, but happens after when the event loop is exited.</p>
<p>Unless a <a class="el" href="namespaceWt.html#a23a1002020ee93ed4679d351b7350de3a0be7215fd7c15723ada0968fceae0259" title="The canvas is not cleared, but further painted on.">Wt::PaintUpdate</a> paint flag is set, the widget is first cleared. </p>

</div>
</div>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<hr size="1"><address style="text-align: right; margin: 3px"><small>
Generated on Thu Nov 1 2012 for <a href="http://www.webtoolkit.eu/wt">the
C++ Web Toolkit (Wt)</a> by&nbsp;<a
href="http://www.doxygen.org/index.html"><img src="doxygen.png"
alt="doxygen" border="0" style="vertical-align: middle; display:
inline-block; height: 2em"></a> 1.7.5.1</small></address>
</body>
</html>