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

A single node in a file tree table. More...

#include <FileTreeTableNode.h>

Inheritance diagram for FileTreeTableNode:
Inheritance graph
[legend]

Public Member Functions

 FileTreeTableNode (const boost::filesystem::path &path)
 Construct a new node for the given file.
- Public Member Functions inherited from Wt::WTreeTableNode
 WTreeTableNode (const WString &labelText, WIconPair *labelIcon=0, WTreeTableNode *parentNode=0)
void setColumnWidget (int column, WWidget *item)
WWidgetcolumnWidget (int column)
WTreeTabletable () const
virtual void insertChildNode (int index, WTreeNode *node)
- Public Member Functions inherited from Wt::WTreeNode
 WTreeNode (const WString &labelText, WIconPair *labelIcon=0, WTreeNode *parentNode=0)
 ~WTreeNode ()
virtual WTreetree () const
WTextlabel () const
WIconPairlabelIcon () const
void setLabelIcon (WIconPair *labelIcon)
void addChildNode (WTreeNode *node)
void removeChildNode (WTreeNode *node)
const std::vector< WTreeNode * > & childNodes () const
virtual int displayedChildCount () const
void setChildCountPolicy (ChildCountPolicy policy)
ChildCountPolicy childCountPolicy () const
void setImagePack (const std::string &url)
void setLoadPolicy (LoadPolicy loadPolicy)
bool isExpanded () const
void setSelectable (bool selectable)
virtual bool isSelectable () const
WTreeNodeparentNode () const
void setNodeVisible (bool visible)
void setChildrenDecorated (bool decorated)
void setInteractive (bool interactive)
void expand ()
void collapse ()
EventSignal< WMouseEvent > & expanded ()
EventSignal< WMouseEvent > & collapsed ()
Signal< bool > & selected ()
- Public Member Functions inherited from Wt::WCompositeWidget
 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 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 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 doJavaScript (const std::string &js)
virtual void propagateSetEnabled (bool enabled)
- Public Member Functions inherited from Wt::WWidget
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)
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 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

virtual void populate ()
 Reimplements WTreeNode::populate to read files within a directory.
virtual bool expandable ()
 Reimplements WTreeNode::expandable.

Static Private Member Functions

static Wt::WIconPaircreateIcon (const boost::filesystem::path &path)
 Create the iconpair for representing the path.

Private Attributes

boost::filesystem::path path_
 The path.

Additional Inherited Members

- Public Types inherited from Wt::WTreeNode
enum  LoadPolicy
enum  ChildCountPolicy
- Static Public Member Functions inherited from Wt::WWidget
static WString tr (const char *key)
- Public Attributes inherited from Wt::WTreeNode
 LazyLoading
 PreLoading
 NextLevelLoading
 Disabled
 Enabled
 Lazy
- Protected Member Functions inherited from Wt::WTreeTableNode
virtual void setTable (WTreeTable *table)
- Static Protected Member Functions inherited from Wt::WObject
static WObjectsender ()

Detailed Description

A single node in a file tree table.

The node manages the details about one file, and if the file is a directory, populates a subtree with nodes for every directory item.

The tree node reimplements Wt::WTreeTableNode::populate() to populate a directory node only when the node is expanded. In this way, only directories that are actually browsed are loaded from disk.

Definition at line 28 of file FileTreeTableNode.h.

Constructor & Destructor Documentation

FileTreeTableNode::FileTreeTableNode ( const boost::filesystem::path &  path)

Construct a new node for the given file.

Definition at line 22 of file FileTreeTableNode.C.

: WTreeTableNode(Wt::widen(path.leaf()), createIcon(path)),
#else
: WTreeTableNode(path.leaf(), createIcon(path)),
#endif
#else
: WTreeTableNode(path.leaf().string(), createIcon(path)),
#endif
path_(path)
{
label()->setTextFormat(PlainText);
if (boost::filesystem::exists(path)) {
if (!boost::filesystem::is_directory(path)) {
int fsize = (int)boost::filesystem::file_size(path);
setColumnWidget(1, new WText(boost::lexical_cast<std::string>(fsize)));
} else
setSelectable(false);
std::time_t t = boost::filesystem::last_write_time(path);
struct tm ttm;
#if WIN32
ttm=*localtime(&t);
#else
localtime_r(&t, &ttm);
#endif
char c[100];
strftime(c, 100, "%b %d %Y", &ttm);
setColumnWidget(2, new WText(c));
}
}

Member Function Documentation

WIconPair * FileTreeTableNode::createIcon ( const boost::filesystem::path &  path)
staticprivate

Create the iconpair for representing the path.

Definition at line 60 of file FileTreeTableNode.C.

{
if (boost::filesystem::exists(path)
&& boost::filesystem::is_directory(path))
return new WIconPair("icons/yellow-folder-closed.png",
"icons/yellow-folder-open.png", false);
else
return new WIconPair("icons/document.png",
"icons/yellow-folder-open.png", false);
}
bool FileTreeTableNode::expandable ( )
privatevirtual

Reimplements WTreeNode::expandable.

Definition at line 90 of file FileTreeTableNode.C.

{
if (!populated()) {
return boost::filesystem::is_directory(path_);
} else
}
void FileTreeTableNode::populate ( )
privatevirtual

Reimplements WTreeNode::populate to read files within a directory.

Definition at line 71 of file FileTreeTableNode.C.

{
try {
if (boost::filesystem::is_directory(path_)) {
std::set<boost::filesystem::path> paths;
boost::filesystem::directory_iterator end_itr;
for (boost::filesystem::directory_iterator i(path_); i != end_itr; ++i)
paths.insert(*i);
for (std::set<boost::filesystem::path>::iterator i = paths.begin();
i != paths.end(); ++i)
}
} catch (boost::filesystem::filesystem_error& e) {
std::cerr << e.what() << std::endl;
}
}

Member Data Documentation

boost::filesystem::path FileTreeTableNode::path_
private

The path.

Definition at line 37 of file FileTreeTableNode.h.


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

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