Wt examples  3.3.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
AddresseeEdit Class Reference

An edit field for an email addressee. More...

#include <AddresseeEdit.h>

Inheritance diagram for AddresseeEdit:
Inheritance graph
[legend]

Public Member Functions

 AddresseeEdit (const WString &label, WContainerWidget *parent, WContainerWidget *labelParent)
 Create a new addressee edit with the given label. More...
 
void setAddressees (const std::vector< Contact > &contacts)
 Set a list of addressees. More...
 
std::vector< Contactaddressees () const
 Get a list of addressees. More...
 
virtual void setHidden (bool hidden, const WAnimation &animation)
 Reimplement hide() and show() to also hide() and show() the label. More...
 
- Public Member Functions inherited from Wt::WTextArea
 WTextArea (WContainerWidget *parent=0)
 
 WTextArea (const WString &content, WContainerWidget *parent=0)
 
void setColumns (int cols)
 
void setRows (int rows)
 
int columns () const
 
int rows () const
 
const WStringtext () const
 
virtual void setText (const WString &text)
 
int selectionStart () const
 
WString selectedText () const
 
bool hasSelectedText () const
 
int cursorPosition () const
 
virtual WString valueText () const
 
virtual void setValueText (const WString &text)
 
- Public Member Functions inherited from Wt::WWidget
virtual void setPositionScheme (PositionScheme scheme)=0
 
virtual PositionScheme positionScheme () const =0
 
virtual void setOffsets (const WLength &offset, WFlags< Side > sides=All)=0
 
virtual WLength offset (Side side) const =0
 
virtual void resize (const WLength &width, const WLength &height)
 
virtual WLength width () const =0
 
virtual WLength height () const =0
 
virtual void setMinimumSize (const WLength &width, const WLength &height)=0
 
virtual WLength minimumWidth () const =0
 
virtual WLength minimumHeight () const =0
 
virtual void setMaximumSize (const WLength &width, const WLength &height)=0
 
virtual WLength maximumWidth () const =0
 
virtual WLength maximumHeight () const =0
 
virtual void setLineHeight (const WLength &height)=0
 
virtual WLength lineHeight () const =0
 
virtual void setFloatSide (Side s)=0
 
virtual Side floatSide () const =0
 
virtual void setClearSides (WFlags< Side > sides)=0
 
virtual WFlags< SideclearSides () const =0
 
virtual void setMargin (const WLength &margin, WFlags< Side > sides=All)=0
 
virtual WLength margin (Side side) const =0
 
virtual void setHiddenKeepsGeometry (bool enabled)=0
 
virtual bool hiddenKeepsGeometry () const =0
 
virtual bool isHidden () const =0
 
virtual bool isVisible () const =0
 
virtual void setDisabled (bool disabled)=0
 
virtual bool isDisabled () const =0
 
virtual bool isEnabled () const =0
 
virtual void setPopup (bool popup)=0
 
virtual bool isPopup () const =0
 
virtual void setInline (bool inlined)=0
 
virtual bool isInline () const =0
 
virtual void setDecorationStyle (const WCssDecorationStyle &style)=0
 
virtual WCssDecorationStyledecorationStyle ()=0
 
virtual void setStyleClass (const WString &styleClass)=0
 
virtual WString styleClass () const =0
 
virtual void addStyleClass (const WString &styleClass, bool force=false)=0
 
virtual void removeStyleClass (const WString &styleClass, bool force=false)=0
 
virtual bool hasStyleClass (const WString &styleClass) const =0
 
virtual void setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength::Auto)=0
 
virtual AlignmentFlag verticalAlignment () const =0
 
virtual WLength verticalAlignmentLength () const =0
 
virtual void setToolTip (const WString &text, TextFormat textFormat=PlainText)=0
 
virtual const WStringtoolTip () const =0
 
virtual void refresh ()
 
virtual void setAttributeValue (const std::string &name, const WString &value)=0
 
virtual WString attributeValue (const std::string &name) const =0
 
virtual void setJavaScriptMember (const std::string &name, const std::string &value)=0
 
virtual std::string javaScriptMember (const std::string &name) const =0
 
virtual void callJavaScriptMember (const std::string &name, const std::string &args)=0
 
virtual void load ()=0
 
virtual bool loaded () const =0
 
virtual void setTabIndex (int index)=0
 
virtual int tabIndex () const =0
 
virtual void setId (const std::string &id)=0
 
virtual WWidgetfind (const std::string &name)=0
 
virtual void setSelectable (bool selectable)=0
 
virtual void doJavaScript (const std::string &js)=0
 

Private Member Functions

bool parse (std::vector< Contact > &contacts) const
 Parse the addressees into a list of contacts. More...
 

Private Attributes

Labellabel_
 The label associated with this edit. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Wt::WTextArea
virtual int boxPadding (Orientation orientation) const
 
virtual int boxBorder (Orientation orientation) const
 
- Protected Member Functions inherited from Wt::WWidget
virtual void enableAjax ()=0
 
virtual void propagateSetEnabled (bool enabled)=0
 
virtual void render (WFlags< RenderFlag > flags)
 

Detailed Description

An edit field for an email addressee.

This widget is part of the Wt composer example.

Definition at line 31 of file AddresseeEdit.h.

Constructor & Destructor Documentation

AddresseeEdit::AddresseeEdit ( const WString label,
WContainerWidget parent,
WContainerWidget labelParent 
)

Create a new addressee edit with the given label.

Constructs also a widget to hold the label in the labelParent. The label will be hidden and shown together with this field.

Definition at line 15 of file AddresseeEdit.C.

17  : WTextArea(parent)
18 {
19  label_ = new Label(label, labelParent);
20 
21  setRows(3); setColumns(55);
22  resize(WLength(99, WLength::Percentage), WLength::Auto);
23 
24  setInline(false); // for IE to position the suggestions well
25 }
Label * label_
The label associated with this edit.
Definition: AddresseeEdit.h:55
virtual void resize(const WLength &width, const WLength &height)
A label.
Definition: Label.h:24
void setColumns(int cols)
virtual void setInline(bool inlined)=0
WTextArea(WContainerWidget *parent=0)
void setRows(int rows)

Member Function Documentation

std::vector< Contact > AddresseeEdit::addressees ( ) const

Get a list of addressees.

Definition at line 74 of file AddresseeEdit.C.

75 {
76  std::vector<Contact> result;
77  parse(result);
78 
79  return result;
80 }
bool parse(std::vector< Contact > &contacts) const
Parse the addressees into a list of contacts.
Definition: AddresseeEdit.C:40
bool AddresseeEdit::parse ( std::vector< Contact > &  contacts) const
private

Parse the addressees into a list of contacts.

Definition at line 40 of file AddresseeEdit.C.

41 {
42  typedef boost::tokenizer<boost::escaped_list_separator<wchar_t>,
43  std::wstring::const_iterator, std::wstring>
44  CsvTokenizer;
45 
46  std::wstring t = text();
47  CsvTokenizer tok(t);
48 
49  for (CsvTokenizer::iterator i = tok.begin(); i != tok.end(); ++i) {
50  std::wstring addressee = *i;
51 
52  boost::trim(addressee);
53  std::wstring::size_type pos = addressee.find_last_of(' ');
54  if (pos != std::string::npos) {
55  std::wstring email = addressee.substr(pos + 1);
56  std::wstring name = addressee.substr(0, pos);
57 
58  boost::trim(email);
59  boost::trim(name);
60  if (email[0] == '<')
61  email = email.substr(1);
62  if (email[email.length() - 1] == '>')
63  email = email.substr(0, email.length() - 1);
64 
65  if (!email.empty())
66  contacts.push_back(Contact(name, email));
67  } else
68  if (!addressee.empty())
69  contacts.push_back(Contact(L"", addressee));
70  }
71  return true;
72 }
const WString & text() const
An email contact.
Definition: Contact.h:19
void AddresseeEdit::setAddressees ( const std::vector< Contact > &  contacts)

Set a list of addressees.

Definition at line 27 of file AddresseeEdit.C.

28 {
29  std::wstring text;
30 
31  for (unsigned i = 0; i < contacts.size(); ++i) {
32  if (i != 0)
33  text += L", ";
34  text += contacts[i].formatted();
35  }
36 
37  setText(text);
38 }
virtual void setText(const WString &text)
const WString & text() const
void AddresseeEdit::setHidden ( bool  hidden,
const WAnimation animation 
)
virtual

Reimplement hide() and show() to also hide() and show() the label.

Implements Wt::WWidget.

Definition at line 82 of file AddresseeEdit.C.

83 {
84  WTextArea::setHidden(hidden, animation);
85  label_->setHidden(hidden, animation);
86 }
Label * label_
The label associated with this edit.
Definition: AddresseeEdit.h:55
virtual void setHidden(bool hidden, const WAnimation &animation=WAnimation())=0

Member Data Documentation

Label* AddresseeEdit::label_
private

The label associated with this edit.

Definition at line 55 of file AddresseeEdit.h.


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

Generated on Wed Jun 11 2014 for the C++ Web Toolkit (Wt) by doxygen 1.8.7