Tekkotsu Homepage
Demos
Overview
Downloads
Dev. Resources
Reference
Credits

FileBrowserControl Class Reference

Displays the contents of a directory in a control menu, probably useful as a baseclass for other controls. More...

#include <FileBrowserControl.h>

Inheritance diagram for FileBrowserControl:

Detailed Description

Displays the contents of a directory in a control menu, probably useful as a baseclass for other controls.

Causes the selectedFile() function to be called on the root FileBrowserControl with the selected file

Definition at line 11 of file FileBrowserControl.h.

List of all members.

Public Member Functions

Constructors/Destructors

constructor

 FileBrowserControl ()
 constructor pass name and root path
 FileBrowserControl (const std::string &nm, const std::string &desc, const std::string &path)
 constructor pass name and root path
ControlBase Inheritance

virtual ControlBaseactivate (MC_ID display, Socket *gui)
 Called when the control is activated (or the control system is reactivating).
virtual ControlBasedoSelect ()
 when the user has trigger an "open selection" - default is to return the hilighted control*/
virtual ControlBasetakeInput (const std::string &msg)
 called when the user has supplied a text string (may or may not have been prompted by doReadStdIn()! May not even be active yet - the user can direct the same input to a set of hilighted menus)
Accessors

void setRecurse (bool r)
 sets recurse
bool getRecurse () const
 returns recurse
void setRoot (const std::string &path)
 sets root, clears paths
std::string getRoot () const
 returns root
void appendPath (const std::string &path)
 adds entries to paths (location relative to root)
void setFilter (const std::string &filt)
 sets filter; remember can only use one wildcard, e.g. *.ext or filename.ext or filename*

Protected Member Functions

virtual ControlBaseselectedFile (const std::string &)
 the big money function - by default calls the parent if it exists, otherwise nothing
std::string makePath ()
 returns the path from root as a string, with no trailing '/'
std::string makePath (const std::string &filename)
 returns the path from root as a string, appends filename
void rebuildmenu ()
 rescans current directory and builds menus
void init (std::string path)
 sets a junk menu item to mark this as having submenus, and sets root to path

Static Protected Member Functions

static bool match (const std::string &file, const std::string &filt)
 returns true if file matches filt

Protected Attributes

bool recurse
 if true (default), will show directories; if false, subdirectories are hidden
std::string root
 the path to browse, default "/"
std::vector< std::string > paths
 list of directories from root
std::string filter
 default "*", only display matching files; only can use one wildcard, e.g. *.ext or filename.ext or filename*

Constructor & Destructor Documentation

FileBrowserControl::FileBrowserControl (  ) 

constructor pass name and root path

Definition at line 15 of file FileBrowserControl.h.

FileBrowserControl::FileBrowserControl ( const std::string &  nm,
const std::string &  desc,
const std::string &  path 
)

constructor pass name and root path

Definition at line 17 of file FileBrowserControl.h.


Member Function Documentation

ControlBase * FileBrowserControl::activate ( MC_ID  disp_id,
Socket gui 
) [virtual]

Called when the control is activated (or the control system is reactivating).

Takes the id number of a LedMC which the control should use, maintained by Controller. Controls share the display which is passed, and may use the socket gui to communicate with the GUI controller, if it is connected.

Returns:
a ControlBase pointer. Return:
  • this if the control should stay active (if it's not a one-shot command)
  • NULL to return to parent
  • other address to spawn a child control

Reimplemented from ControlBase.

Definition at line 11 of file FileBrowserControl.cc.

void FileBrowserControl::appendPath ( const std::string &  path  ) 

adds entries to paths (location relative to root)

Definition at line 79 of file FileBrowserControl.cc.

Referenced by takeInput().

ControlBase * FileBrowserControl::doSelect (  )  [virtual]

when the user has trigger an "open selection" - default is to return the hilighted control*/

The value which is returned is then activate()ed and pushed on the Controller's stack

Reimplemented from ControlBase.

Definition at line 16 of file FileBrowserControl.cc.

bool FileBrowserControl::getRecurse (  )  const

returns recurse

Definition at line 28 of file FileBrowserControl.h.

std::string FileBrowserControl::getRoot (  )  const

returns root

Definition at line 31 of file FileBrowserControl.h.

void FileBrowserControl::init ( std::string  path  )  [protected]

sets a junk menu item to mark this as having submenus, and sets root to path

Definition at line 57 of file FileBrowserControl.h.

Referenced by FileBrowserControl().

std::string FileBrowserControl::makePath ( const std::string &  filename  )  [protected]

returns the path from root as a string, appends filename

Definition at line 100 of file FileBrowserControl.cc.

std::string FileBrowserControl::makePath (  )  [protected]

returns the path from root as a string, with no trailing '/'

Definition at line 90 of file FileBrowserControl.cc.

Referenced by doSelect(), FileInputControl::invalidInput(), makePath(), and rebuildmenu().

bool FileBrowserControl::match ( const std::string &  file,
const std::string &  filt 
) [static, protected]

returns true if file matches filt

Definition at line 107 of file FileBrowserControl.cc.

Referenced by rebuildmenu().

void FileBrowserControl::rebuildmenu (  )  [protected]

rescans current directory and builds menus

Definition at line 132 of file FileBrowserControl.cc.

Referenced by activate(), doSelect(), and takeInput().

virtual ControlBase* FileBrowserControl::selectedFile ( const std::string &   )  [protected, virtual]

the big money function - by default calls the parent if it exists, otherwise nothing

returning NULL means deactivate, this (default) to stay put, or a different Control if you want a submenu

Reimplemented in ConfigurationEditor::LoadSettings, ConfigurationEditor::SaveSettings, DumpFileControl, FileInputControl, LoadCalibration, LoadPostureControl, LoadWalkControl, PlaySoundControl, and RunSequenceControl< SequenceSize >.

Definition at line 42 of file FileBrowserControl.h.

Referenced by doSelect().

void FileBrowserControl::setFilter ( const std::string &  filt  ) 
void FileBrowserControl::setRecurse ( bool  r  ) 

sets recurse

Definition at line 27 of file FileBrowserControl.h.

void FileBrowserControl::setRoot ( const std::string &  path  ) 

sets root, clears paths

Definition at line 71 of file FileBrowserControl.cc.

Referenced by init(), and XWalkEdit::XWalkEdit().

ControlBase * FileBrowserControl::takeInput ( const std::string &  msg  )  [virtual]

called when the user has supplied a text string (may or may not have been prompted by doReadStdIn()! May not even be active yet - the user can direct the same input to a set of hilighted menus)

The value which is returned is then activate()ed and pushed on the Controller's stack

Reimplemented from ControlBase.

Definition at line 43 of file FileBrowserControl.cc.

Referenced by TorqueCalibrate::init().


Member Data Documentation

std::string FileBrowserControl::filter [protected]

default "*", only display matching files; only can use one wildcard, e.g. *.ext or filename.ext or filename*

Definition at line 63 of file FileBrowserControl.h.

Referenced by rebuildmenu(), and setFilter().

std::vector<std::string> FileBrowserControl::paths [protected]

list of directories from root

Definition at line 61 of file FileBrowserControl.h.

Referenced by appendPath(), doSelect(), makePath(), rebuildmenu(), setRoot(), and takeInput().

bool FileBrowserControl::recurse [protected]

if true (default), will show directories; if false, subdirectories are hidden

Definition at line 59 of file FileBrowserControl.h.

Referenced by getRecurse(), rebuildmenu(), and setRecurse().

std::string FileBrowserControl::root [protected]

the path to browse, default "/"

Definition at line 60 of file FileBrowserControl.h.

Referenced by getRoot(), makePath(), setRoot(), and takeInput().


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

Tekkotsu v5.1CVS
Generated Mon May 9 04:59:08 2016 by Doxygen 1.6.3