Wt examples: ComposeExample Class Reference

Wt examples 3.3.0

- Main Page
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Private Member Functions | Private Attributes
ComposeExample Class Reference
Composer example

Main widget of the Composer example. More...

`#include <ComposeExample.h>`

List of all members.

## Public Member Functions
| ComposeExample (WContainerWidget *parent=0)
| create a new Composer example.
## Private Member Functions
void | send ()
void | discard ()
## Private Attributes
Composer * | composer_
WContainerWidget * | details_

## Detailed Description

Main widget of the Composer example.

Definition at line 25 of file ComposeExample.h.

## Constructor & Destructor Documentation

ComposeExample::ComposeExample | ( | WContainerWidget * | parent = `0` | ) |

create a new Composer example.

Definition at line 21 of file ComposeExample.C.

      : WContainerWidget(parent)
    {
      composer_ = new Composer(this);

      std::vector<Contact> addressBook;
      addressBook.push_back(Contact(L"Koen Deforche",
                                    L"koen.deforche@gmail.com"));
      addressBook.push_back(Contact(L"Koen alias1",
                                    L"koen.alias1@yahoo.com"));
      addressBook.push_back(Contact(L"Koen alias2",
                                    L"koen.alias2@yahoo.com"));
      addressBook.push_back(Contact(L"Koen alias3",
                                    L"koen.alias3@yahoo.com"));
      addressBook.push_back(Contact(L"Bartje",
                                    L"jafar@hotmail.com"));
      composer_->setAddressBook(addressBook);

      std::vector<Contact> contacts;
      contacts.push_back(Contact(L"Koen Deforche", L"koen.deforche@gmail.com"));

      composer_->setTo(contacts);
      composer_->setSubject("That's cool! Want to start your own google?");

      composer_->send.connect(this, &ComposeExample::send);
      composer_->discard.connect(this, &ComposeExample::discard);

      details_ = new WContainerWidget(this);

      new WText(tr("example.info"), details_);
    }

## Member Function Documentation

void ComposeExample::discard | ( |  | ) | `[private]`

Definition at line 126 of file ComposeExample.C.

    {
      WContainerWidget *feedback = new WContainerWidget(this);
      feedback->setStyleClass("feedback");

      WContainerWidget *horiz = new WContainerWidget(feedback);
      new WText("<p>Wise decision! Everyone's mailbox is already full anyway.</p>",
                horiz);

      delete composer_;
      delete details_;

      wApp->quit();
    }

void ComposeExample::send | ( |  | ) | `[private]`

Definition at line 53 of file ComposeExample.C.

    {
      WContainerWidget *feedback = new WContainerWidget(this);
      feedback->setStyleClass(L"feedback");

      WContainerWidget *horiz = new WContainerWidget(feedback);
      new WText(L"<p>We could have, but did not send the following email:</p>",
                horiz);

      std::vector<Contact> contacts = composer_->to();
      if (!contacts.empty())
        horiz = new WContainerWidget(feedback);
      for (unsigned i = 0; i < contacts.size(); ++i) {
        new WText(L"To: \"" + contacts[i].name + L"\" <"
                  + contacts[i].email + L">", PlainText, horiz);
        new WBreak(horiz);
      }

      contacts = composer_->cc();
      if (!contacts.empty())
        horiz = new WContainerWidget(feedback);
      for (unsigned i = 0; i < contacts.size(); ++i) {
        new WText(L"Cc: \"" + contacts[i].name + L"\" <"
                  + contacts[i].email + L">", PlainText, horiz);
        new WBreak(horiz);
      }

      contacts = composer_->bcc();
      if (!contacts.empty())
        horiz = new WContainerWidget(feedback);
      for (unsigned i = 0; i < contacts.size(); ++i) {
        new WText(L"Bcc: \"" + contacts[i].name + L"\" <"
                  + contacts[i].email + L">", PlainText, horiz);
        new WBreak(horiz);
      }

      horiz = new WContainerWidget(feedback);
      WText *t = new WText("Subject: \"" + composer_->subject() + "\"",
                           PlainText, horiz);

      std::vector<Attachment> attachments = composer_->attachments();
      if (!attachments.empty())
        horiz = new WContainerWidget(feedback);
      for (unsigned i = 0; i < attachments.size(); ++i) {
        new WText(L"Attachment: \""
                  + attachments[i].fileName
                  + L"\" (" + attachments[i].contentDescription
                  + L")", PlainText, horiz);

        unlink(attachments[i].spoolFileName.c_str());

        new WText(", was in spool file: "
                  + attachments[i].spoolFileName, horiz);
        new WBreak(horiz);
      }

      std::wstring message = composer_->message();

      horiz = new WContainerWidget(feedback);
      t = new WText("Message body: ", horiz);
      new WBreak(horiz);

      if (!message.empty()) {
        t = new WText(message, PlainText, horiz);
      } else
        t = new WText("<i>(empty)</i>", horiz);

      delete composer_;
      delete details_;

      wApp->quit();
    }

## Member Data Documentation

Composer* ComposeExample::composer_`[private]`

Definition at line 33 of file ComposeExample.h.

WContainerWidget* ComposeExample::details_`[private]`

Definition at line 34 of file ComposeExample.h.

The documentation for this class was generated from the following files:

- /home/koen/project/wt/public-git/wt/examples/composer/ComposeExample.h
- /home/koen/project/wt/public-git/wt/examples/composer/ComposeExample.C