Sophie

Sophie

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

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 examples: AttachmentEdit Class Reference</title>

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



</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 examples
   &#160;<span id="projectnumber">3.2.3</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</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>
    </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>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-methods">Private Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a>  </div>
  <div class="headertitle">
<div class="title">AttachmentEdit Class Reference<div class="ingroups"><a class="el" href="group__composerexample.html">Composer example</a></div></div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="AttachmentEdit" --><!-- doxytag: inherits="Wt::WContainerWidget" -->
<p>An edit field for an email attachment.  
 <a href="classAttachmentEdit.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for AttachmentEdit:</div>
<div class="dyncontent">
<div class="center"><img src="classAttachmentEdit__inherit__graph.png" border="0" usemap="#AttachmentEdit_inherit__map" alt="Inheritance graph"/></div>
<map name="AttachmentEdit_inherit__map" id="AttachmentEdit_inherit__map">
<area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html" title="Wt::WContainerWidget" alt="" coords="5,304,160,331"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html" title="Wt::WInteractWidget" alt="" coords="11,229,155,256"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html" title="Wt::WWebWidget" alt="" coords="19,155,147,181"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html" title="Wt::WWidget" alt="" coords="33,80,132,107"/><area shape="rect" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WObject.html" title="Wt::WObject" alt="" coords="35,5,131,32"/></map>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>

<p><a href="classAttachmentEdit-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit_1_1UploadInfo.html">UploadInfo</a></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">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#aedd19941ecf64ef030eaa164eb34b85a">AttachmentEdit</a> (<a class="el" href="classComposer.html">Composer</a> *composer, <a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *<a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#a3461e31818c4d2f516641bdaf508312a">parent</a>=0)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an attachment edit field.  <a href="#aedd19941ecf64ef030eaa164eb34b85a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a172fff67913dc3e3adf8c1e4198d6ea6">uploadNow</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates the file now.  <a href="#a172fff67913dc3e3adf8c1e4198d6ea6"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#adc4314df22d6fa1598acebe62726a464">uploadFailed</a> () const </td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns whether the upload failed.  <a href="#adc4314df22d6fa1598acebe62726a464"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classAttachment.html">Attachment</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#aa6037eafc345a6a3358da421fc04045a">attachments</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the attachment.  <a href="#aa6037eafc345a6a3358da421fc04045a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Signal</a>&lt; void &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a8e8ec2b62906eb6137b1a505a6ba0306">uploadDone</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Signal emitted when new attachment(s) have been uploaded (or failed to upload.  <a href="#a8e8ec2b62906eb6137b1a505a6ba0306"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-methods"></a>
Private Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a85d6892fe9c38394d17dc350ce678acd">uploaded</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Slot triggered when the WFileUpload completed an upload.  <a href="#a85d6892fe9c38394d17dc350ce678acd"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#ae2435ee247748851f9b02ae217260766">fileTooLarge</a> (::int64_t size)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Slot triggered when the WFileUpload received an oversized file.  <a href="#ae2435ee247748851f9b02ae217260766"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a27277be62832ebbda987707b7a2d814e">remove</a> ()</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Slot triggered when the users wishes to remove this attachment edit.  <a href="#a27277be62832ebbda987707b7a2d814e"></a><br/></td></tr>
<tr><td colspan="2"><h2><a name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classComposer.html">Composer</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a403927978e9c841e64b62421458790e8">composer_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Signal</a>&lt; void &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">uploadDone_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html">WFileUpload</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430">upload_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The WFileUpload control.  <a href="#aa9a3945293cf0a30d35e8bc56312d430"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="classAttachmentEdit_1_1UploadInfo.html">UploadInfo</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#ad3f98e98d3e5502fc275446dc5c6b762">uploadInfo_</a></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d">error_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The text box to display an error (empty or too big file)  <a href="#a2c3fa5d63ec5feedc63f95295989cd4d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="classOption.html">Option</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae">remove_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The option to cancel the file upload.  <a href="#a55484424d37b196d07035e245399ffae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classAttachmentEdit.html#a6a19f364e7a82797bc5c18adb6a01530">uploadFailed_</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">The state of the last upload process.  <a href="#a6a19f364e7a82797bc5c18adb6a01530"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>An edit field for an email attachment. </p>
<p>This widget managements one attachment edit: it shows a file upload control, handles the upload, and gives feed-back on the file uploaded.</p>
<p>This widget is part of the Wt composer example. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00037">37</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="aedd19941ecf64ef030eaa164eb34b85a"></a><!-- doxytag: member="AttachmentEdit::AttachmentEdit" ref="aedd19941ecf64ef030eaa164eb34b85a" args="(Composer *composer, WContainerWidget *parent=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">AttachmentEdit::AttachmentEdit </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classComposer.html">Composer</a> *&#160;</td>
          <td class="paramname"><em>composer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html">WContainerWidget</a> *&#160;</td>
          <td class="paramname"><em>parent</em> = <code>0</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Creates an attachment edit field. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8C_source.html#l00071">71</a> of file <a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a>.</p>
<div class="fragment"><pre class="fragment">  : <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WContainerWidget.html#a520ba6e52a36a7f2efbef1a31a69e898">WContainerWidget</a>(parent),
    <a class="code" href="classAttachmentEdit.html#a403927978e9c841e64b62421458790e8">composer_</a>(composer),
    <a class="code" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">uploadDone_</a>(<span class="keyword">this</span>),
    <a class="code" href="classAttachmentEdit.html#a6a19f364e7a82797bc5c18adb6a01530" title="The state of the last upload process.">uploadFailed_</a>(<span class="keyword">false</span>)
{
  <span class="comment">/*</span>
<span class="comment">   * The file upload itself.</span>
<span class="comment">   */</span>
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a> = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html">WFileUpload</a>(<span class="keyword">this</span>);
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#a17f8e368c2ffc9836c65e470b311de9d">setMultiple</a>(<span class="keyword">true</span>);
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#ac7ad1324c86d378da9da9740a631a662">setFileTextSize</a>(40);

  <span class="comment">/*</span>
<span class="comment">   * A progress bar</span>
<span class="comment">   */</span>
  <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WProgressBar.html">WProgressBar</a> *progress = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WProgressBar.html">WProgressBar</a>();
  progress-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WProgressBar.html#a6fb308103fbdad5d58c90450c657678a">setFormat</a>(WString::Empty);
  progress-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#ac90979eca6488814ac3d44194ba9ac79">setVerticalAlignment</a>(AlignMiddle);
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#a6600c5a1232057418b3fe63d5db1c004">setProgressBar</a>(progress);

  <span class="comment">/*</span>
<span class="comment">   * The &#39;remove&#39; option.</span>
<span class="comment">   */</span>
  <a class="code" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae" title="The option to cancel the file upload.">remove_</a> = <span class="keyword">new</span> <a class="code" href="classOption.html" title="A clickable option.">Option</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa651f107ec7cf080faef6c435705fc44">tr</a>(<span class="stringliteral">&quot;msg.remove&quot;</span>), <span class="keyword">this</span>);
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9defbf26c8bc2310963e858613f25518">decorationStyle</a>().<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WCssDecorationStyle.html#a5e552350f0955212ea237994a98638dc">font</a>().<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFont.html#ab67fd247c1541c18a6b97f41007e5f4b">setSize</a>(WFont::Smaller);
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#ac90979eca6488814ac3d44194ba9ac79">setVerticalAlignment</a>(AlignMiddle);
  <a class="code" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae" title="The option to cancel the file upload.">remove_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(5, Left);
  <a class="code" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae" title="The option to cancel the file upload.">remove_</a>-&gt;<a class="code" href="classOption.html#a31cd766f28605ceba53642d7d4e68c9e" title="Returns the clickable part.">item</a>()-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c">clicked</a>().connect(<span class="keyword">this</span>, &amp;WWidget::hide);
  <a class="code" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae" title="The option to cancel the file upload.">remove_</a>-&gt;<a class="code" href="classOption.html#a31cd766f28605ceba53642d7d4e68c9e" title="Returns the clickable part.">item</a>()-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WInteractWidget.html#ae11e050cce0d4a8f742afa3ef92bfe8c">clicked</a>().connect(<span class="keyword">this</span>, &amp;<a class="code" href="classAttachmentEdit.html#a27277be62832ebbda987707b7a2d814e" title="Slot triggered when the users wishes to remove this attachment edit.">AttachmentEdit::remove</a>);

  <span class="comment">// The error message.</span>
  <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a> = <span class="keyword">new</span> <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>(<span class="stringliteral">&quot;&quot;</span>, <span class="keyword">this</span>);
  <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#afd3a3b359681111460a93d13979d17dd">setStyleClass</a>(<span class="stringliteral">&quot;error&quot;</span>);
  <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWebWidget.html#a9795c18e926b26b97fcbabc62a1dd4e3">setMargin</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WLength.html">WLength</a>(5), Left);

  <span class="comment">/*</span>
<span class="comment">   * React to events.</span>
<span class="comment">   */</span>

  <span class="comment">// Try to catch the fileupload change signal to trigger an upload.</span>
  <span class="comment">// We could do like google and at a delay with a WTimer as well...</span>
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#a3abaf94bdba04e7833aa18bc7e8d0f40">changed</a>().<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1EventSignal.html#a36896f54a4db342af24efa6e9d703455">connect</a>(<a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>, &amp;WFileUpload::upload);

  <span class="comment">// React to a succesfull upload.</span>
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#aacb4622c8cd83d1635a8c0db13c8c0fe">uploaded</a>().<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1EventSignal.html#a36896f54a4db342af24efa6e9d703455">connect</a>(<span class="keyword">this</span>, &amp;<a class="code" href="classAttachmentEdit.html#a85d6892fe9c38394d17dc350ce678acd" title="Slot triggered when the WFileUpload completed an upload.">AttachmentEdit::uploaded</a>);

  <span class="comment">// React to a fileupload problem.</span>
  <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#a84fd55ba7c74134970369d1f2cb8aae1">fileTooLarge</a>().connect(<span class="keyword">this</span>, &amp;<a class="code" href="classAttachmentEdit.html#ae2435ee247748851f9b02ae217260766" title="Slot triggered when the WFileUpload received an oversized file.">AttachmentEdit::fileTooLarge</a>);

  <span class="comment">/*</span>
<span class="comment">   * Connect the uploadDone signal to the Composer&#39;s attachmentDone,</span>
<span class="comment">   * so that the Composer can keep track of attachment upload progress,</span>
<span class="comment">   * if it wishes.</span>
<span class="comment">   */</span>
  <a class="code" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">uploadDone_</a>.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html#a15d1150af031537b492674ee651bf4a3">connect</a>(composer, &amp;<a class="code" href="classComposer.html#aaa2db4aef750f6533c53af1189c92144" title="Slotcalled when an attachment has been uploaded.">Composer::attachmentDone</a>);
}
</pre></div>
</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="aa6037eafc345a6a3358da421fc04045a"></a><!-- doxytag: member="AttachmentEdit::attachments" ref="aa6037eafc345a6a3358da421fc04045a" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="classAttachment.html">Attachment</a> &gt; AttachmentEdit::attachments </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns the attachment. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8C_source.html#l00191">191</a> of file <a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a>.</p>
<div class="fragment"><pre class="fragment">{
  std::vector&lt;Attachment&gt; result;

  <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; <a class="code" href="classAttachmentEdit.html#ad3f98e98d3e5502fc275446dc5c6b762">uploadInfo_</a>.size(); ++i) {
    <span class="keywordflow">if</span> (<a class="code" href="classAttachmentEdit.html#ad3f98e98d3e5502fc275446dc5c6b762">uploadInfo_</a>[i]-&gt;keep_-&gt;isChecked()) {
      <a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Http_1_1UploadedFile.html">Http::UploadedFile</a>&amp; f = <a class="code" href="classAttachmentEdit.html#ad3f98e98d3e5502fc275446dc5c6b762">uploadInfo_</a>[i]-&gt;info_;
      f.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Http_1_1UploadedFile.html#ab8cdd14724b871e71d3ec7d9530f9e29">stealSpoolFile</a>();
      result.push_back(<a class="code" href="classAttachment.html" title="An email attachment.">Attachment</a>
                       (WString::fromUTF8(f.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Http_1_1UploadedFile.html#a6548081a259f55d572bf049d576bb2a3">clientFileName</a>()),
                        WString::fromUTF8(f.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Http_1_1UploadedFile.html#a165bc88288a19a1134ecdf3922f86f25">contentType</a>()),
                        f.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Http_1_1UploadedFile.html#a80453ce8dc7a06e12b5c1f622c027320">spoolFileName</a>()));
    }
  }

  <span class="keywordflow">return</span> result;
}
</pre></div>
</div>
</div>
<a class="anchor" id="ae2435ee247748851f9b02ae217260766"></a><!-- doxytag: member="AttachmentEdit::fileTooLarge" ref="ae2435ee247748851f9b02ae217260766" args="(::int64_t size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AttachmentEdit::fileTooLarge </td>
          <td>(</td>
          <td class="paramtype">::int64_t&#160;</td>
          <td class="paramname"><em>size</em></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Slot triggered when the WFileUpload received an oversized file. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8C_source.html#l00178">178</a> of file <a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a>.</p>
<div class="fragment"><pre class="fragment">{
  <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html#a2f788aa524d51b3962642c9f565e66e6">setText</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa651f107ec7cf080faef6c435705fc44">tr</a>(<span class="stringliteral">&quot;msg.file-too-large&quot;</span>)
                  .arg(size / 1024)
                  .arg(WApplication::instance()-&gt;maximumRequestSize() / 1024));
  <a class="code" href="classAttachmentEdit.html#a6a19f364e7a82797bc5c18adb6a01530" title="The state of the last upload process.">uploadFailed_</a> = <span class="keyword">true</span>;

  <span class="comment">/*</span>
<span class="comment">   * Signal to the Composer that a new asyncrhonous file upload was processed.</span>
<span class="comment">   */</span>
  <a class="code" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">uploadDone_</a>.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5">emit</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="a27277be62832ebbda987707b7a2d814e"></a><!-- doxytag: member="AttachmentEdit::remove" ref="a27277be62832ebbda987707b7a2d814e" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AttachmentEdit::remove </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Slot triggered when the users wishes to remove this attachment edit. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8C_source.html#l00173">173</a> of file <a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a>.</p>
<div class="fragment"><pre class="fragment">{
  <a class="code" href="classAttachmentEdit.html#a403927978e9c841e64b62421458790e8">composer_</a>-&gt;<a class="code" href="classComposer.html#ab142f49c8de59da0f84185165eb6c1c1" title="Remove the given attachment edit.">removeAttachment</a>(<span class="keyword">this</span>);
}
</pre></div>
</div>
</div>
<a class="anchor" id="a8e8ec2b62906eb6137b1a505a6ba0306"></a><!-- doxytag: member="AttachmentEdit::uploadDone" ref="a8e8ec2b62906eb6137b1a505a6ba0306" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Signal</a>&lt;void&gt;&amp; AttachmentEdit::uploadDone </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Signal emitted when new attachment(s) have been uploaded (or failed to upload. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00063">63</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> <a class="code" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">uploadDone_</a>; }
</pre></div>
</div>
</div>
<a class="anchor" id="a85d6892fe9c38394d17dc350ce678acd"></a><!-- doxytag: member="AttachmentEdit::uploaded" ref="a85d6892fe9c38394d17dc350ce678acd" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void AttachmentEdit::uploaded </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Slot triggered when the WFileUpload completed an upload. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8C_source.html#l00145">145</a> of file <a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a>.</p>
<div class="fragment"><pre class="fragment">{
  std::vector&lt;Http::UploadedFile&gt; files = <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#ab1ffd4c3c203e6772f4a1b2e235888e3">uploadedFiles</a>();

  <span class="keywordflow">if</span> (!files.empty()) {
    <span class="comment">/*</span>
<span class="comment">     * Delete this widgets since we have a succesfull upload.</span>
<span class="comment">     */</span>
    <span class="keyword">delete</span> <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>;
    <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a> = 0;
    <span class="keyword">delete</span> <a class="code" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae" title="The option to cancel the file upload.">remove_</a>;
    <a class="code" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae" title="The option to cancel the file upload.">remove_</a> = 0;
    <span class="keyword">delete</span> <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a>;
    <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a> = 0;

    <span class="keywordflow">for</span> (<span class="keywordtype">unsigned</span> i = 0; i &lt; files.size(); ++i)
      <a class="code" href="classAttachmentEdit.html#ad3f98e98d3e5502fc275446dc5c6b762">uploadInfo_</a>.push_back(<span class="keyword">new</span> UploadInfo(files[i], <span class="keyword">this</span>));
  } <span class="keywordflow">else</span> {
    <a class="code" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d" title="The text box to display an error (empty or too big file)">error_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html#a2f788aa524d51b3962642c9f565e66e6">setText</a>(<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WWidget.html#aa651f107ec7cf080faef6c435705fc44">tr</a>(<span class="stringliteral">&quot;msg.file-empty&quot;</span>));
    <a class="code" href="classAttachmentEdit.html#a6a19f364e7a82797bc5c18adb6a01530" title="The state of the last upload process.">uploadFailed_</a> = <span class="keyword">true</span>;
  }

  <span class="comment">/*</span>
<span class="comment">   * Signal to the Composer that a new asynchronous file upload was processed.</span>
<span class="comment">   */</span>
  <a class="code" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">uploadDone_</a>.<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html#a8d9cf8a1e83634462fe2b492b3beb1c5">emit</a>();
}
</pre></div>
</div>
</div>
<a class="anchor" id="adc4314df22d6fa1598acebe62726a464"></a><!-- doxytag: member="AttachmentEdit::uploadFailed" ref="adc4314df22d6fa1598acebe62726a464" args="() const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AttachmentEdit::uploadFailed </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const<code> [inline]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Returns whether the upload failed. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00054">54</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>
<div class="fragment"><pre class="fragment">{ <span class="keywordflow">return</span> <a class="code" href="classAttachmentEdit.html#a6a19f364e7a82797bc5c18adb6a01530" title="The state of the last upload process.">uploadFailed_</a>; }
</pre></div>
</div>
</div>
<a class="anchor" id="a172fff67913dc3e3adf8c1e4198d6ea6"></a><!-- doxytag: member="AttachmentEdit::uploadNow" ref="a172fff67913dc3e3adf8c1e4198d6ea6" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool AttachmentEdit::uploadNow </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Updates the file now. </p>
<p>Returns whether a new file will be uploaded. If so, the uploadDone signal will be signalled when the file is uploaded (or failed to upload). </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8C_source.html#l00129">129</a> of file <a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a>.</p>
<div class="fragment"><pre class="fragment">{
  <span class="comment">/*</span>
<span class="comment">   * See if this attachment still needs to be uploaded,</span>
<span class="comment">   * and return if a new asynchronous upload is started.</span>
<span class="comment">   */</span>
  <span class="keywordflow">if</span> (<a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>) {
    <span class="keywordflow">if</span> (<a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#a66376fb4668a037760a91abad9f83f8a">canUpload</a>()) {
      <a class="code" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430" title="The WFileUpload control.">upload_</a>-&gt;<a class="codeRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html#ac17094f2fd6ae8cac1035161f7d80b9c">upload</a>();
      <span class="keywordflow">return</span> <span class="keyword">true</span>;
    } <span class="keywordflow">else</span>
      <span class="keywordflow">return</span> <span class="keyword">false</span>;
  } <span class="keywordflow">else</span>
    <span class="keywordflow">return</span> <span class="keyword">false</span>;
}
</pre></div>
</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a403927978e9c841e64b62421458790e8"></a><!-- doxytag: member="AttachmentEdit::composer_" ref="a403927978e9c841e64b62421458790e8" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classComposer.html">Composer</a>* <a class="el" href="classAttachmentEdit.html#a403927978e9c841e64b62421458790e8">AttachmentEdit::composer_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00066">66</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2c3fa5d63ec5feedc63f95295989cd4d"></a><!-- doxytag: member="AttachmentEdit::error_" ref="a2c3fa5d63ec5feedc63f95295989cd4d" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WText.html">WText</a>* <a class="el" href="classAttachmentEdit.html#a2c3fa5d63ec5feedc63f95295989cd4d">AttachmentEdit::error_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The text box to display an error (empty or too big file) </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00090">90</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<a class="anchor" id="a55484424d37b196d07035e245399ffae"></a><!-- doxytag: member="AttachmentEdit::remove_" ref="a55484424d37b196d07035e245399ffae" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classOption.html">Option</a>* <a class="el" href="classAttachmentEdit.html#a55484424d37b196d07035e245399ffae">AttachmentEdit::remove_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The option to cancel the file upload. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00093">93</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa9a3945293cf0a30d35e8bc56312d430"></a><!-- doxytag: member="AttachmentEdit::upload_" ref="aa9a3945293cf0a30d35e8bc56312d430" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1WFileUpload.html">WFileUpload</a>* <a class="el" href="classAttachmentEdit.html#aa9a3945293cf0a30d35e8bc56312d430">AttachmentEdit::upload_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The WFileUpload control. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00071">71</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<a class="anchor" id="a24ee0aca670036a7491a1c0114188cc7"></a><!-- doxytag: member="AttachmentEdit::uploadDone_" ref="a24ee0aca670036a7491a1c0114188cc7" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="elRef" doxygen="wt.tags:../../reference/html" href="../../reference/html/classWt_1_1Signal.html">Signal</a>&lt;void&gt; <a class="el" href="classAttachmentEdit.html#a24ee0aca670036a7491a1c0114188cc7">AttachmentEdit::uploadDone_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00068">68</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<a class="anchor" id="a6a19f364e7a82797bc5c18adb6a01530"></a><!-- doxytag: member="AttachmentEdit::uploadFailed_" ref="a6a19f364e7a82797bc5c18adb6a01530" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classAttachmentEdit.html#a6a19f364e7a82797bc5c18adb6a01530">AttachmentEdit::uploadFailed_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>The state of the last upload process. </p>

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00096">96</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad3f98e98d3e5502fc275446dc5c6b762"></a><!-- doxytag: member="AttachmentEdit::uploadInfo_" ref="ad3f98e98d3e5502fc275446dc5c6b762" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;<a class="el" href="classAttachmentEdit_1_1UploadInfo.html">UploadInfo</a> *&gt; <a class="el" href="classAttachmentEdit.html#ad3f98e98d3e5502fc275446dc5c6b762">AttachmentEdit::uploadInfo_</a><code> [private]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Definition at line <a class="el" href="AttachmentEdit_8h_source.html#l00087">87</a> of file <a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>/home/koen/project/wt/public-git/wt/examples/composer/<a class="el" href="AttachmentEdit_8h_source.html">AttachmentEdit.h</a></li>
<li>/home/koen/project/wt/public-git/wt/examples/composer/<a class="el" href="AttachmentEdit_8C_source.html">AttachmentEdit.C</a></li>
</ul>
</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>