Wt examples  3.2.1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
FileEditDialog Class Reference

A dialog for editing a 'file'. More...

Inheritance diagram for FileEditDialog:
Inheritance graph
[legend]

Public Member Functions

 FileEditDialog (WAbstractItemModel *model, const WModelIndex &item)
- Public Member Functions inherited from Wt::WDialog
 WDialog (const WString &windowTitle=WString())
 ~WDialog ()
void setWindowTitle (const WString &title)
const WStringwindowTitle () const
void setCaption (const WString &caption)
const WStringcaption () const
void setTitleBarEnabled (bool enabled)
bool isTitleBarEnabled () const
WContainerWidgettitleBar () const
WContainerWidgetcontents () const
DialogCode exec (const WAnimation &animation=WAnimation())
virtual void done (DialogCode r)
virtual void accept ()
virtual void reject ()
void rejectWhenEscapePressed ()
Signal< DialogCode > & finished ()
DialogCode result () const
void setModal (bool modal)
bool isModal () const
void setResizable (bool resizable)
bool resizable () const
void setClosable (bool closable)
bool closable () const
virtual void setHidden (bool hidden, const WAnimation &animation=WAnimation())
virtual void positionAt (const WWidget *widget, Orientation orientation=Vertical)
 WCompositeWidget (WContainerWidget *parent=0)
 WCompositeWidget (WWidget *implementation, WContainerWidget *parent)
virtual const std::string id () const
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 bool isEnabled () 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::Auto)
virtual AlignmentFlag verticalAlignment () const
virtual WLength verticalAlignmentLength () const
virtual void setToolTip (const WString &text, TextFormat textFormat=PlainText)
virtual WString toolTip () const
virtual void refresh ()
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 void load ()
virtual bool loaded () const
virtual void setTabIndex (int index)
virtual int tabIndex () 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 &js)
virtual void propagateSetEnabled (bool enabled)
virtual ~WWidget ()
WWidgetparent () const
void setWidth (const WLength &width)
void setHeight (const WLength &height)
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)
bool isRendered () const
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)
virtual void removeChild (WObject *child)
const std::vector< WObject * > & children () const

Private Member Functions

void handleFinish (DialogCode result)

Private Attributes

WAbstractItemModelmodel_
WModelIndex item_
WLineEditnameEdit_
WLineEditsizeEdit_
WComboBoxtypeEdit_
WDatePickercreatedPicker_
WDatePickermodifiedPicker_

Additional Inherited Members

- Public Types inherited from Wt::WDialog
enum  DialogCode
- Static Public Member Functions inherited from Wt::WDialog
static WString tr (const char *key)
- Public Attributes inherited from Wt::WDialog
 Rejected
 Accepted
- Protected Member Functions inherited from Wt::WDialog
virtual void enableAjax ()
void setImplementation (WWidget *widget)
WWidgetimplementation ()
virtual int boxPadding (Orientation orientation) const
virtual int boxBorder (Orientation orientation) const
- Static Protected Member Functions inherited from Wt::WDialog
static WObjectsender ()

Detailed Description

A dialog for editing a 'file'.

Definition at line 78 of file TreeViewDragDrop.C.

Constructor & Destructor Documentation

FileEditDialog::FileEditDialog ( WAbstractItemModel model,
const WModelIndex item 
)
inline

Definition at line 81 of file TreeViewDragDrop.C.

: WDialog("Edit..."),
model_(model),
item_(item)
{
int modelRow = item_.row();
resize(300, WLength::Auto);
/*
* Create the form widgets, and load them with data from the model.
*/
// name
nameEdit_ = new WLineEdit(asString(model_->data(modelRow, 1)));
// type
typeEdit_->addItem("Document");
typeEdit_->addItem("Spreadsheet");
typeEdit_->addItem("Presentation");
(typeEdit_->findText(asString(model_->data(modelRow, 2))));
// size
sizeEdit_ = new WLineEdit(asString(model_->data(modelRow, 3)));
(new WIntValidator(0, std::numeric_limits<int>::max(), this));
// created
createdPicker_->setDate(boost::any_cast<WDate>(model_->data(modelRow, 4)));
// modified
modifiedPicker_->setDate(boost::any_cast<WDate>(model_->data(modelRow, 5)));
/*
* Use a grid layout for the labels and fields
*/
WGridLayout *layout = new WGridLayout();
WLabel *l;
int row = 0;
layout->addWidget(l = new WLabel("Name:"), row, 0);
layout->addWidget(nameEdit_, row, 1);
++row;
layout->addWidget(l = new WLabel("Type:"), row, 0);
layout->addWidget(typeEdit_, row, 1, AlignTop);
++row;
layout->addWidget(l = new WLabel("Size:"), row, 0);
layout->addWidget(sizeEdit_, row, 1);
++row;
layout->addWidget(l = new WLabel("Created:"), row, 0);
layout->addWidget(createdPicker_->lineEdit(), row, 1);
layout->addWidget(createdPicker_, row, 2);
++row;
layout->addWidget(l = new WLabel("Modified:"), row, 0);
layout->addWidget(modifiedPicker_->lineEdit(), row, 1);
layout->addWidget(modifiedPicker_, row, 2);
++row;
buttons->addWidget(b = new WPushButton("Save"));
b->clicked().connect(this, &WDialog::accept);
contents()->enterPressed().connect(this, &WDialog::accept);
buttons->addWidget(b = new WPushButton("Cancel"));
b->clicked().connect(this, &WDialog::reject);
/*
* Focus the form widget that corresonds to the selected item.
*/
switch (item.column()) {
case 2:
typeEdit_->setFocus(); break;
case 3:
sizeEdit_->setFocus(); break;
case 4:
case 5:
default:
nameEdit_->setFocus(); break;
}
layout->addWidget(buttons, row, 0, 0, 3, AlignCenter);
layout->setColumnStretch(1, 1);
contents()->setLayout(layout, AlignTop | AlignJustify);
show();
}

Member Function Documentation

void FileEditDialog::handleFinish ( DialogCode  result)
inlineprivate

Definition at line 199 of file TreeViewDragDrop.C.

{
if (result == WDialog::Accepted) {
/*
* Update the model with data from the edit widgets.
*
* You will want to do some validation here...
*
* Note that we directly update the source model to avoid
* problems caused by the dynamic sorting of the proxy model,
* which reorders row numbers, and would cause us to switch to editing
* the wrong data.
*/
int modelRow = item_.row();
WAbstractProxyModel *proxyModel = dynamic_cast<WAbstractProxyModel *>(m);
if (proxyModel) {
m = proxyModel->sourceModel();
modelRow = proxyModel->mapToSource(item_).row();
}
m->setData(modelRow, 1, boost::any(nameEdit_->text()));
m->setData(modelRow, 2, boost::any(typeEdit_->currentText()));
m->setData(modelRow, 3, boost::any(boost::lexical_cast<int>
(sizeEdit_->text().toUTF8())));
m->setData(modelRow, 4, boost::any(createdPicker_->date()));
m->setData(modelRow, 5, boost::any(modifiedPicker_->date()));
}
delete this;
}

Member Data Documentation

WDatePicker* FileEditDialog::createdPicker_
private

Definition at line 197 of file TreeViewDragDrop.C.

WModelIndex FileEditDialog::item_
private

Definition at line 193 of file TreeViewDragDrop.C.

WAbstractItemModel* FileEditDialog::model_
private

Definition at line 192 of file TreeViewDragDrop.C.

WDatePicker * FileEditDialog::modifiedPicker_
private

Definition at line 197 of file TreeViewDragDrop.C.

WLineEdit* FileEditDialog::nameEdit_
private

Definition at line 195 of file TreeViewDragDrop.C.

WLineEdit * FileEditDialog::sizeEdit_
private

Definition at line 195 of file TreeViewDragDrop.C.

WComboBox* FileEditDialog::typeEdit_
private

Definition at line 196 of file TreeViewDragDrop.C.


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

Generated on Wed Oct 22 2014 for the C++ Web Toolkit (Wt) by doxygen 1.8.1.2