Wt examples  3.3.8
Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
FolderView Class Reference

A specialized treeview that supports a custom drop event. More...

#include <FolderView.h>

Inheritance diagram for FolderView:
Inheritance graph
[legend]

Public Member Functions

 FolderView (Wt::WContainerWidget *parent=0)
 Constructor. More...
 
- Public Member Functions inherited from Wt::WTreeView
 WTreeView (WContainerWidget *parent=0)
 
void setColumnFormat (int column, const WString &format)
 
WString columnFormat (int column) const
 
void setExpanded (const WModelIndex &, bool expanded)
 
bool isExpanded (const WModelIndex &index) const
 
void collapse (const WModelIndex &index)
 
void expand (const WModelIndex &index)
 
void expandToDepth (int depth)
 
void setRootIsDecorated (bool show)
 
bool rootIsDecorated () const
 
virtual void resize (const WLength &width, const WLength &height)
 
Signal< WModelIndex > & collapsed ()
 
Signal< WModelIndex > & expanded ()
 
virtual WWidgetitemWidget (const WModelIndex &index) const
 
virtual void setModel (WAbstractItemModel *model)
 
virtual void setColumnWidth (int column, const WLength &width)
 
virtual void setAlternatingRowColors (bool enable)
 
virtual void setRowHeight (const WLength &rowHeight)
 
virtual void setHeaderHeight (const WLength &height)
 
virtual void setColumnHidden (int column, bool hidden)
 
virtual void setRowHeaderCount (int count)
 
virtual int pageCount () const
 
virtual int pageSize () const
 
virtual int currentPage () const
 
virtual void setCurrentPage (int page)
 
virtual void scrollTo (const WModelIndex &index, ScrollHint hint=EnsureVisible)
 
virtual EventSignal< WScrollEvent > & scrolled ()
 
- Public Member Functions inherited from Wt::WAbstractItemView
WAbstractItemModelmodel () const
 
void setRootIndex (const WModelIndex &rootIndex)
 
const WModelIndexrootIndex () const
 
void setItemDelegate (WAbstractItemDelegate *delegate)
 
WAbstractItemDelegateitemDelegate () const
 
void setItemDelegateForColumn (int column, WAbstractItemDelegate *delegate)
 
WAbstractItemDelegateitemDelegateForColumn (int column) const
 
WAbstractItemDelegateitemDelegate (const WModelIndex &index) const
 
WAbstractItemDelegateitemDelegate (int column) const
 
void setHeaderItemDelegate (WAbstractItemDelegate *delegate)
 
WAbstractItemDelegateheaderItemDelegate () const
 
virtual void setColumnAlignment (int column, AlignmentFlag alignment)
 
virtual AlignmentFlag columnAlignment (int column) const
 
virtual void setHeaderAlignment (int column, WFlags< AlignmentFlag > alignment)
 
AlignmentFlag headerAlignment (int column) const
 
AlignmentFlag horizontalHeaderAlignment (int column) const
 
AlignmentFlag verticalHeaderAlignment (int column) const
 
void setHeaderWordWrap (int column, bool enabled)
 
virtual bool alternatingRowColors () const
 
void sortByColumn (int column, SortOrder order)
 
int sortColumn () const
 
SortOrder sortOrder () const
 
void setSortingEnabled (bool enabled)
 
void setSortingEnabled (int column, bool enabled)
 
bool isSortingEnabled () const
 
bool isSortingEnabled (int column) const
 
void setColumnResizeEnabled (bool enabled)
 
bool isColumnResizeEnabled () const
 
void setSelectionBehavior (SelectionBehavior behavior)
 
SelectionBehavior selectionBehavior () const
 
void setSelectionMode (SelectionMode mode)
 
SelectionMode selectionMode () const
 
WItemSelectionModelselectionModel () const
 
void setSelectedIndexes (const WModelIndexSet &indexes)
 
void clearSelection ()
 
void select (const WModelIndex &index, SelectionFlag option=Select)
 
bool isSelected (const WModelIndex &index) const
 
WModelIndexSet selectedIndexes () const
 
void setDragEnabled (bool enable)
 
void setDropsEnabled (bool enable)
 
const WLengthrowHeight () const
 
WLength columnWidth (int column) const
 
bool isColumnHidden (int column) const
 
void hideColumn (int column)
 
void showColumn (int column)
 
virtual void setColumnBorder (const WColor &color)
 
void setHeaderHeight (const WLength &height, bool multiLine)
 
const WLengthheaderHeight () const
 
void setEditTriggers (WFlags< EditTrigger > editTriggers)
 
WFlags< EditTriggereditTriggers () const
 
void setEditOptions (WFlags< EditOption > options)
 
WFlags< EditOptioneditOptions () const
 
void edit (const WModelIndex &index)
 
void closeEditor (const WModelIndex &index, bool saveData=true)
 
void closeEditors (bool saveData=true)
 
WValidator::State validateEditor (const WModelIndex &index)
 
WValidator::State validateEditors ()
 
bool isEditing (const WModelIndex &index) const
 
bool isValid (const WModelIndex &index) const
 
Signal< WModelIndex, WMouseEvent > & clicked ()
 
Signal< WModelIndex, WMouseEvent > & doubleClicked ()
 
Signal< WModelIndex, WMouseEvent > & mouseWentDown ()
 
Signal< WModelIndex, WMouseEvent > & mouseWentUp ()
 
Signal< WModelIndex, WTouchEvent > & touchStart ()
 
SignalselectionChanged ()
 
SignalpageChanged ()
 
Signal< int, WLength > & columnResized ()
 
bool sortEnabled ()
 
void setHeaderClickSortEnabled (bool enabled)
 
Signal< int, WMouseEvent > & headerClicked ()
 
Signal< int, WMouseEvent > & headerDoubleClicked ()
 
Signal< int, WMouseEvent > & headerMouseWentDown ()
 
Signal< int, WMouseEvent > & headerMouseWentUp ()
 
int rowHeaderCount () const
 
void setColumn1Fixed (bool enable)
 
bool column1Fixed () const
 
virtual void setObjectName (const std::string &name)
 
EventSignal< WKeyEvent > & keyWentDown ()
 
EventSignal< WKeyEvent > & keyPressed ()
 
EventSignal< WKeyEvent > & keyWentUp ()
 
- Public Member Functions inherited from Wt::WCompositeWidget
 WCompositeWidget (WContainerWidget *parent=0)
 
 WCompositeWidget (WWidget *implementation, WContainerWidget *parent)
 
virtual std::string objectName () const
 
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 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 void setHidden (bool hidden, const WAnimation &animation=WAnimation())
 
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 bool hasStyleClass (const WString &styleClass) const
 
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 setDeferredToolTip (bool enable, TextFormat textFormat=PlainText)
 
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 setCanReceiveFocus (bool enabled)
 
virtual bool canReceiveFocus () const
 
virtual void setFocus (bool focus)
 
virtual bool setFirstFocus ()
 
virtual bool hasFocus () const
 
virtual void setTabIndex (int index)
 
virtual int tabIndex () const
 
virtual void setId (const std::string &id)
 
virtual WWidgetfind (const std::string &name)
 
virtual WWidgetfindById (const std::string &name)
 
virtual void setSelectable (bool selectable)
 
virtual void doJavaScript (const std::string &js)
 
virtual void propagateSetEnabled (bool enabled)
 
virtual bool scrollVisibilityEnabled () const WT_CXX11ONLY(finaloverride)
 
virtual void setScrollVisibilityEnabled (bool enabled) WT_CXX11ONLY(finaloverride)
 
virtual int scrollVisibilityMargin () const WT_CXX11ONLY(finaloverride)
 
virtual void setScrollVisibilityMargin (int margin) WT_CXX11ONLY(finaloverride)
 
virtual Signal< bool > & scrollVisibilityChanged () WT_CXX11ONLY(finaloverride)
 
virtual bool isScrollVisible () const WT_CXX11ONLY(finaloverride)
 
virtual void setThemeStyleEnabled (bool enabled)
 
virtual bool isThemeStyleEnabled () const
 
- Public Member Functions inherited from Wt::WWidget
virtual ~WWidget ()
 
WWidgetparent () const
 
virtual void removeChild (WObject *child)
 
void setWidth (const WLength &width)
 
void setHeight (const WLength &height)
 
virtual void positionAt (const WWidget *widget, Orientation orientation=Vertical)
 
virtual void toggleStyleClass (const WString &styleClass, bool add, bool force=false)
 
std::string jsRef () const
 
void setFocus ()
 
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
 
- Public Member Functions inherited from Wt::WObject
 WObject (WObject *parent=0)
 
virtual ~WObject ()
 
void resetLearnedSlots ()
 
void resetLearnedSlot (void(T::*method)())
 
WStatelessSlot * implementStateless (void(T::*method)())
 
WStatelessSlot * implementStateless (void(T::*method)(), void(T::*undoMethod)())
 
void isNotStateless ()
 
WStatelessSlot * implementJavaScript (void(T::*method)(), const std::string &jsCode)
 
void addChild (WObject *child)
 
const std::vector< WObject * > & children () const
 
WObjectparent () const
 

Static Public Attributes

static const char * FileSelectionMimeType = "application/x-computers-selection"
 Constant that indicates the mime type for a selection of files. More...
 

Protected Member Functions

virtual void dropEvent (const Wt::WDropEvent &event, const Wt::WModelIndex &target)
 Drop event. More...
 
- Protected Member Functions inherited from Wt::WTreeView
virtual void render (WFlags< RenderFlag > flags)
 
virtual void enableAjax ()
 
- Protected Member Functions inherited from Wt::WAbstractItemView
 WAbstractItemView (WContainerWidget *parent=0)
 
virtual WWidgetcreateExtraHeaderWidget (int column)
 
WWidgetextraHeaderWidget (int column)
 
virtual WWidgetcreatePageNavigationBar ()
 
virtual void handleClick (const WModelIndex &index, const WMouseEvent &event)
 
virtual void handleDoubleClick (const WModelIndex &index, const WMouseEvent &event)
 
virtual void handleMouseDown (const WModelIndex &index, const WMouseEvent &event)
 
virtual void handleMouseUp (const WModelIndex &index, const WMouseEvent &event)
 
virtual void handleTouchStart (const std::vector< WModelIndex > &indices, const WTouchEvent &event)
 
- Protected Member Functions inherited from Wt::WCompositeWidget
void setImplementation (WWidget *widget)
 
WWidgetimplementation ()
 
virtual int boxPadding (Orientation orientation) const
 
virtual int boxBorder (Orientation orientation) const
 
- Protected Member Functions inherited from Wt::WWidget
void setLayoutSizeAware (bool sizeAware)
 
virtual void layoutSizeChanged (int width, int height)
 
 WWidget (WContainerWidget *parent=0)
 
virtual void dropEvent (WDropEvent dropEvent)
 
void scheduleRender (WFlags< RepaintFlag > flags=0)
 
virtual WStatelessSlot * getStateless (Method method)
 

Additional Inherited Members

- Public Types inherited from Wt::WAbstractItemView
enum  EditTrigger
 
enum  EditOption
 
enum  ScrollHint
 
- Public Types inherited from Wt::WObject
typedef void(WObject::* Method) ()
 
- Static Public Member Functions inherited from Wt::WWidget
static WString tr (const char *key)
 
- Public Attributes inherited from Wt::WAbstractItemView
 NoEditTrigger
 
 SingleClicked
 
 DoubleClicked
 
 SelectedClicked
 
 SingleEditor
 
 MultipleEditors
 
 SaveWhenClosed
 
 LeaveEditorsOpen
 
 EnsureVisible
 
 PositionAtTop
 
 PositionAtBottom
 
 PositionAtCenter
 
- Static Protected Member Functions inherited from Wt::WObject
static WObjectsender ()
 

Detailed Description

A specialized treeview that supports a custom drop event.

Definition at line 19 of file FolderView.h.

Constructor & Destructor Documentation

FolderView::FolderView ( Wt::WContainerWidget parent = 0)

Constructor.

Definition at line 19 of file FolderView.C.

20  : WTreeView(parent)
21 {
22  /*
23  * Accept drops for the custom mime type.
24  */
26 }
static const char * FileSelectionMimeType
Constant that indicates the mime type for a selection of files.
Definition: FolderView.h:26
virtual void acceptDrops(const std::string &mimeType, const WString &hoverStyleClass=WString())
WTreeView(WContainerWidget *parent=0)

Member Function Documentation

void FolderView::dropEvent ( const Wt::WDropEvent event,
const Wt::WModelIndex target 
)
protectedvirtual

Drop event.

Reimplemented from Wt::WAbstractItemView.

Definition at line 28 of file FolderView.C.

30 {
31  /*
32  * We reimplement the drop event to handle the dropping of a
33  * selection of computers.
34  *
35  * The test below would always be true in this case, since we only
36  * indicated support for that particular mime type.
37  */
38  if (event.mimeType() == FileSelectionMimeType) {
39  /*
40  * The source object for a drag of a selection from a WTreeView is
41  * a WItemSelectionModel.
42  */
43  WItemSelectionModel *selection
44  = dynamic_cast<WItemSelectionModel *>(event.source());
45 
46 #ifdef WT_THREADED
47  int result = WMessageBox::show
48  ("Drop event",
49  "Move "
50  + boost::lexical_cast<std::string>(selection->selectedIndexes().size())
51  + " files to folder '"
52  + boost::any_cast<WString>(target.data(DisplayRole)).toUTF8()
53  + "' ?",
54  Yes | No);
55 #else
56  int result = Yes;
57 #endif
58 
59  if (result == Yes) {
60  /*
61  * You can access the source model from the selection and
62  * manipulate it.
63  */
64  WAbstractItemModel *sourceModel = selection->model();
65 
66  WModelIndexSet toChange = selection->selectedIndexes();
67 
68  for (WModelIndexSet::reverse_iterator i = toChange.rbegin();
69  i != toChange.rend(); ++i) {
70  WModelIndex index = *i;
71 
72  /*
73  * Copy target folder to file. Since we are using a
74  * dynamic WSortFilterProxyModel that filters on folder, this
75  * will also result in the removal of the file from the
76  * current view.
77  */
78  std::map<int, boost::any> data = model()->itemData(target);
79  data[DecorationRole] = index.data(DecorationRole);
80  sourceModel->setItemData(index, data);
81  }
82  }
83  }
84 }
WAbstractItemModel * model() const
virtual DataMap itemData(const WModelIndex &index) const
static const char * FileSelectionMimeType
Constant that indicates the mime type for a selection of files.
Definition: FolderView.h:26
DisplayRole
const std::string & mimeType() const
std::set< WModelIndex > WModelIndexSet
WModelIndexSet selectedIndexes() const
virtual bool setItemData(const WModelIndex &index, const DataMap &values)
WAbstractItemModel * model() const
DecorationRole
boost::any data(int role=DisplayRole) const

Member Data Documentation

const char * FolderView::FileSelectionMimeType = "application/x-computers-selection"
static

Constant that indicates the mime type for a selection of files.

Every kind of dragged data should be identified using a unique mime type.

Definition at line 26 of file FolderView.h.


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

Generated on Mon Sep 4 2017 for the C++ Web Toolkit (Wt) by doxygen 1.8.11