Wtx ~ Wt Extension Library
WtxLib
AttachmentEdit.h
1 // This may look like C code, but it's really -*- C++ -*-
2 /*
3  * Copyright (C) 2008 Emweb bvba, Kessel-Lo, Belgium.
4  *
5  * See the LICENSE file for terms of use.
6  */
7 #ifndef ATTACHMENT_EDIT_H_
8 #define ATTACHMENT_EDIT_H_
9 
10 #include <Wt/WContainerWidget.h>
11 
12 namespace Wt {
13  class WFileUpload;
14  class WText;
15  class WCheckBox;
16 }
17 
18 class Attachment;
19 class Composer;
20 class Option;
21 
22 using namespace Wt;
23 
28 
37 class AttachmentEdit : public WContainerWidget
38 {
39 public:
42  AttachmentEdit(Composer *composer);
43 
50  bool uploadNow();
51 
54  bool uploadFailed() const { return uploadFailed_; }
55 
58  std::vector<Attachment> attachments();
59 
63  Signal<>& uploadDone() { return uploadDone_; }
64 
65 private:
66  Composer *composer_;
67 
68  Signal<> uploadDone_;
69 
71  WFileUpload *upload_;
72 
73  class UploadInfo : public WContainerWidget
74  {
75  public:
76  UploadInfo(const Http::UploadedFile& f);
77 
78  Http::UploadedFile info_;
79 
81  WAnchor *downloadLink_;
82 
84  WCheckBox *keep_;
85  };
86 
87  std::vector<UploadInfo *> uploadInfo_;
88 
90  WText *error_;
91 
93  Option *remove_;
94 
96  bool uploadFailed_;
97 
99  void uploaded();
100 
102  void fileTooLarge(::int64_t size);
103 
105  void remove();
106 };
107 
110 #endif // ATTACHMENT_EDIT_H_
A clickable option.
Definition: Option.h:31
An email attachment.
Definition: Attachment.h:19
bool uploadFailed() const
Returns whether the upload failed.
An edit field for an email attachment.
An E-mail composer widget.
Definition: Composer.h:36
Signal & uploadDone()
Signal emitted when new attachment(s) have been uploaded (or failed to upload.