Wt examples  3.2.1
Public Member Functions | Private Member Functions | Private Attributes
AddresseeEdit Class Reference

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

#include <AddresseeEdit.h>

Inheritance diagram for AddresseeEdit:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 AddresseeEdit (const WString &label, WContainerWidget *parent, WContainerWidget *labelParent)
 Create a new addressee edit with the given label.
void setAddressees (const std::vector< Contact > &contacts)
 Set a list of addressees.
std::vector< Contactaddressees () const
 Get a list of addressees.
virtual void setHidden (bool hidden, const WAnimation &animation)
 Reimplement hide() and show() to also hide() and show() the label.
- 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)
 WFormWidget (WContainerWidget *parent=0)
 ~WFormWidget ()
WLabellabel () const
void setValidator (WValidator *validator)
WValidatorvalidator () const
virtual WValidator::State validate ()
void setEnabled (bool enabled)
void setFocus ()
void setFocus (bool focus)
bool hasFocus () const
virtual void setTabIndex (int index)
virtual int tabIndex () const
void setReadOnly (bool readOnly)
bool isReadOnly () const
void setEmptyText (const WString &emptyText)
const WStringemptyText ()
EventSignalchanged ()
EventSignalselected ()
EventSignalblurred ()
EventSignalfocussed ()
virtual void refresh ()
 WInteractWidget (WContainerWidget *parent=0)
EventSignal< WKeyEvent > & keyWentDown ()
EventSignal< WKeyEvent > & keyPressed ()
EventSignal< WKeyEvent > & keyWentUp ()
EventSignalenterPressed ()
EventSignalescapePressed ()
EventSignal< WMouseEvent > & clicked ()
EventSignal< WMouseEvent > & doubleClicked ()
EventSignal< WMouseEvent > & mouseWentDown ()
EventSignal< WMouseEvent > & mouseWentUp ()
EventSignal< WMouseEvent > & mouseWentOut ()
EventSignal< WMouseEvent > & mouseWentOver ()
EventSignal< WMouseEvent > & mouseMoved ()
EventSignal< WMouseEvent > & mouseDragged ()
EventSignal< WMouseEvent > & mouseWheel ()
EventSignal< WTouchEvent > & touchStarted ()
EventSignal< WTouchEvent > & touchEnded ()
EventSignal< WTouchEvent > & touchMoved ()
EventSignal< WGestureEvent > & gestureStarted ()
EventSignal< WGestureEvent > & gestureChanged ()
EventSignal< WGestureEvent > & gestureEnded ()
void setDraggable (const std::string &mimeType, WWidget *dragWidget=0, bool isDragWidgetOnly=false, WObject *sourceWidget=0)
virtual void load ()
virtual bool isEnabled () const
 WWebWidget (WContainerWidget *parent=0)
virtual void setPositionScheme (PositionScheme scheme)
virtual PositionScheme positionScheme () const
virtual void setOffsets (const WLength &offset, WFlags< Side > sides=All)
virtual WLength offset (Side s) const
virtual void resize (const WLength &width, const WLength &height)
virtual WLength width () const
virtual WLength height () const
virtual void setMinimumSize (const WLength &width, const WLength &height)
virtual WLength minimumWidth () const
virtual WLength minimumHeight () const
virtual void setMaximumSize (const WLength &width, const WLength &height)
virtual WLength maximumWidth () const
virtual WLength maximumHeight () const
virtual void setLineHeight (const WLength &height)
virtual WLength lineHeight () const
virtual void setFloatSide (Side s)
virtual Side floatSide () const
virtual void setClearSides (WFlags< Side > sides)
virtual WFlags< SideclearSides () const
virtual void setMargin (const WLength &margin, WFlags< Side > sides=All)
virtual WLength margin (Side side) const
virtual void setHiddenKeepsGeometry (bool enabled)
virtual bool hiddenKeepsGeometry () const
virtual bool isHidden () const
virtual bool isVisible () const
virtual void setDisabled (bool disabled)
virtual bool isDisabled () const
virtual void setPopup (bool popup)
virtual bool isPopup () const
virtual void setInline (bool isInline)
virtual bool isInline () const
virtual void setDecorationStyle (const WCssDecorationStyle &style)
virtual WCssDecorationStyledecorationStyle ()
virtual void setStyleClass (const WString &styleClass)
virtual WString styleClass () const
virtual void addStyleClass (const WString &styleClass, bool force=false)
virtual void removeStyleClass (const WString &styleClass, bool force=false)
virtual void setVerticalAlignment (AlignmentFlag alignment, const WLength &length=WLength())
virtual AlignmentFlag verticalAlignment () const
virtual WLength verticalAlignmentLength () const
virtual void setToolTip (const WString &text, TextFormat textFormat=PlainText)
virtual WString toolTip () const
virtual void setAttributeValue (const std::string &name, const WString &value)
virtual WString attributeValue (const std::string &name) const
virtual void setJavaScriptMember (const std::string &name, const std::string &value)
virtual std::string javaScriptMember (const std::string &name) const
virtual void callJavaScriptMember (const std::string &name, const std::string &args)
virtual bool loaded () const
virtual void setId (const std::string &id)
virtual WWidgetfind (const std::string &name)
virtual void setSelectable (bool selectable)
virtual void doJavaScript (const std::string &javascript)
virtual const std::string id () const
void setLoadLaterWhenInvisible (bool)
const std::vector< WWidget * > & children () const
SignalchildrenChanged ()
bool isRendered () const
virtual ~WWidget ()
WWidgetparent () const
void setWidth (const WLength &width)
void setHeight (const WLength &height)
virtual void positionAt (const WWidget *widget, Orientation orientation=Vertical)
std::string jsRef () const
virtual void acceptDrops (const std::string &mimeType, const WString &hoverStyleClass=WString())
virtual void stopAcceptDrops (const std::string &mimeType)
virtual void htmlText (std::ostream &out)
void hide ()
void animateHide (const WAnimation &animation)
void show ()
void animateShow (const WAnimation &animation)
void enable ()
void disable ()
bool layoutSizeAware () const
 WObject (WObject *parent=0)
virtual ~WObject ()
void setObjectName (const std::string &name)
virtual std::string objectName () const
void resetLearnedSlots ()
void resetLearnedSlot (void(T::*method)())
WStatelessSlot * implementStateless (void(T::*method)())
WStatelessSlot * implementStateless (void(T::*method)(), void(T::*undoMethod)())
WStatelessSlot * implementJavaScript (void(T::*method)(), const std::string &jsCode)
void addChild (WObject *child)

Private Member Functions

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

Private Attributes

Labellabel_
 The label associated with this edit.

Additional Inherited Members

- Protected Member Functions inherited from Wt::WTextArea
virtual int boxPadding (Orientation orientation) const
virtual int boxBorder (Orientation orientation) const
virtual void enableAjax ()
virtual WStatelessSlot * getStateless (Method method)
virtual void propagateSetEnabled (bool enabled)

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.

: WTextArea(parent)
{
label_ = new Label(label, labelParent);
resize(WLength(99, WLength::Percentage), WLength::Auto);
setInline(false); // for IE to position the suggestions well
}

Member Function Documentation

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

Get a list of addressees.

Definition at line 74 of file AddresseeEdit.C.

{
std::vector<Contact> result;
parse(result);
return result;
}
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.

{
typedef boost::tokenizer<boost::escaped_list_separator<wchar_t>,
std::wstring::const_iterator, std::wstring>
CsvTokenizer;
std::wstring t = text();
CsvTokenizer tok(t);
for (CsvTokenizer::iterator i = tok.begin(); i != tok.end(); ++i) {
std::wstring addressee = *i;
boost::trim(addressee);
std::wstring::size_type pos = addressee.find_last_of(' ');
if (pos != std::string::npos) {
std::wstring email = addressee.substr(pos + 1);
std::wstring name = addressee.substr(0, pos);
boost::trim(email);
boost::trim(name);
if (email[0] == '<')
email = email.substr(1);
if (email[email.length() - 1] == '>')
email = email.substr(0, email.length() - 1);
if (!email.empty())
contacts.push_back(Contact(name, email));
} else
if (!addressee.empty())
contacts.push_back(Contact(L"", addressee));
}
return true;
}
void AddresseeEdit::setAddressees ( const std::vector< Contact > &  contacts)

Set a list of addressees.

Definition at line 27 of file AddresseeEdit.C.

{
std::wstring text;
for (unsigned i = 0; i < contacts.size(); ++i) {
if (i != 0)
text += L", ";
text += contacts[i].formatted();
}
setText(text);
}
void AddresseeEdit::setHidden ( bool  hidden,
const WAnimation animation 
)
virtual

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

Reimplemented from Wt::WTextArea.

Definition at line 82 of file AddresseeEdit.C.

{
WTextArea::setHidden(hidden, animation);
label_->setHidden(hidden, animation);
}

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 Sun May 27 2012 for the C++ Web Toolkit (Wt) by doxygen 1.8.1