Logo ROOT  
Reference Guide
ROOT::Experimental::Browsable::RSysFile Class Reference

Definition at line 28 of file RSysFile.hxx.

Public Member Functions

 RSysFile (const FileStat_t &stat, const std::string &dirname, const std::string &filename)
 Create file element with already provided stats information. More...
 
 RSysFile (const std::string &filename)
 Create file element. More...
 
virtual ~RSysFile ()=default
 
std::unique_ptr< RLevelIterGetChildsIter () override
 Returns iterator for files in directory. More...
 
std::string GetContent (const std::string &kind) override
 Returns file content of requested kind. More...
 
EActionKind GetDefaultAction () const override
 Get default action for the file Either start text editor or image viewer or just do file browsing. More...
 
std::string GetName () const override
 Name of RElement - file name in this case. More...
 
std::string GetTitle () const override
 Title of RElement - full file name
More...
 
bool MatchName (const std::string &name) const override
 Checks if element name match to provided value. More...
 
- Public Member Functions inherited from ROOT::Experimental::Browsable::RElement
virtual ~RElement ()=default
 
virtual bool cd ()
 Select element as active. More...
 
virtual bool CheckValid ()
 Check if element still contains valid content. More...
 
virtual std::unique_ptr< RItemCreateItem () const
 Returns item with element description. More...
 
virtual std::unique_ptr< RLevelIterGetChildsIter ()
 Create iterator for childs elements if any. More...
 
virtual std::string GetContent (const std::string &="text")
 Returns element content, depends from kind. More...
 
virtual EActionKind GetDefaultAction () const
 Get default action. More...
 
virtual std::string GetName () const =0
 Name of browsable, must be provided in derived classes. More...
 
virtual int GetNumChilds ()
 Returns number of childs By default creates iterator and iterates over all items. More...
 
virtual std::unique_ptr< RHolderGetObject ()
 Access object. More...
 
virtual std::string GetTitle () const
 Title of browsable (optional) More...
 
virtual bool IsCapable (EActionKind action) const
 Check if want to perform action. More...
 
virtual bool IsExpandByDefault () const
 Should item representing element be expand by default. More...
 
virtual bool IsFolder () const
 Check if element can have childs. More...
 
virtual bool IsObject (void *)
 Check if element contains provided pointer. More...
 
virtual bool MatchName (const std::string &name) const
 Checks if element name match to provided value. More...
 

Static Public Member Functions

static std::string GetFileIcon (const std::string &fname)
 Get icon for the type of given file name. More...
 
static RElementPath_t GetWorkingPath (const std::string &workdir="")
 Return working path in browser hierarchy. More...
 
static RElementPath_t ProvideTopEntries (std::shared_ptr< RGroup > &comp, const std::string &workdir="")
 Provide top entries for file system On windows it is list of existing drivers, on Linux it is "Files system" and "Home". More...
 
- Static Public Member Functions inherited from ROOT::Experimental::Browsable::RElement
static int ComparePaths (const RElementPath_t &path1, const RElementPath_t &path2)
 Compare two paths, Returns number of elements matches in both paths. More...
 
static int ExtractItemIndex (std::string &name)
 Extract index from name Index coded by client with ###<indx>$$$ suffix Such coding used by browser to identify element by index. More...
 
static EContentKind GetContentKind (const std::string &kind)
 Find item with specified name Default implementation, should work for all. More...
 
static std::string GetPathAsString (const RElementPath_t &path)
 Converts element path back to string. More...
 
static std::shared_ptr< RElementGetSubElement (std::shared_ptr< RElement > &elem, const RElementPath_t &path)
 Returns sub element. More...
 
static RElementPath_t ParsePath (const std::string &str)
 Parse string path to produce RElementPath_t One should avoid to use string pathes as much as possible. More...
 

Private Member Functions

std::string GetFullName () const
 Returns full file name - including fully qualified path. More...
 

Private Attributes

std::string fDirName
 ! fully-qualified directory name More...
 
std::string fFileName
 ! file name in current dir More...
 
FileStat_t fStat
 ! file stat object More...
 

Friends

class RSysDirLevelIter
 

Additional Inherited Members

- Public Types inherited from ROOT::Experimental::Browsable::RElement
enum  EActionKind {
  kActNone , kActBrowse , kActEdit , kActImage ,
  kActDraw6 , kActDraw7 , kActCanvas , kActTree ,
  kActGeom
}
 Possible actions on double-click. More...
 
enum  EContentKind {
  kNone , kText , kImage , kPng ,
  kJpeg , kJson , kFileName
}
 

#include <ROOT/Browsable/RSysFile.hxx>

Inheritance diagram for ROOT::Experimental::Browsable::RSysFile:
[legend]

Constructor & Destructor Documentation

◆ RSysFile() [1/2]

RSysFile::RSysFile ( const std::string &  filename)

Create file element.

Definition at line 409 of file RSysFile.cxx.

◆ RSysFile() [2/2]

RSysFile::RSysFile ( const FileStat_t stat,
const std::string &  dirname,
const std::string &  filename 
)

Create file element with already provided stats information.

Definition at line 430 of file RSysFile.cxx.

◆ ~RSysFile()

virtual ROOT::Experimental::Browsable::RSysFile::~RSysFile ( )
virtualdefault

Member Function Documentation

◆ GetChildsIter()

std::unique_ptr< RLevelIter > RSysFile::GetChildsIter ( )
overridevirtual

Returns iterator for files in directory.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 490 of file RSysFile.cxx.

◆ GetContent()

std::string RSysFile::GetContent ( const std::string &  kind)
overridevirtual

Returns file content of requested kind.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 501 of file RSysFile.cxx.

◆ GetDefaultAction()

RElement::EActionKind RSysFile::GetDefaultAction ( ) const
overridevirtual

Get default action for the file Either start text editor or image viewer or just do file browsing.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 468 of file RSysFile.cxx.

◆ GetFileIcon()

std::string RSysFile::GetFileIcon ( const std::string &  fname)
static

Get icon for the type of given file name.

Definition at line 358 of file RSysFile.cxx.

◆ GetFullName()

std::string RSysFile::GetFullName ( ) const
private

Returns full file name - including fully qualified path.

Definition at line 482 of file RSysFile.cxx.

◆ GetName()

std::string RSysFile::GetName ( ) const
overridevirtual

Name of RElement - file name in this case.

return file name

Implements ROOT::Experimental::Browsable::RElement.

Definition at line 438 of file RSysFile.cxx.

◆ GetTitle()

std::string ROOT::Experimental::Browsable::RSysFile::GetTitle ( ) const
inlineoverridevirtual

Title of RElement - full file name

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 52 of file RSysFile.hxx.

◆ GetWorkingPath()

RElementPath_t RSysFile::GetWorkingPath ( const std::string &  workdir = "")
static

Return working path in browser hierarchy.

Definition at line 573 of file RSysFile.cxx.

◆ MatchName()

bool RSysFile::MatchName ( const std::string &  name) const
overridevirtual

Checks if element name match to provided value.

Check if file name the same, ignore case on Windows.

Reimplemented from ROOT::Experimental::Browsable::RElement.

Definition at line 446 of file RSysFile.cxx.

◆ ProvideTopEntries()

RElementPath_t RSysFile::ProvideTopEntries ( std::shared_ptr< RGroup > &  comp,
const std::string &  workdir = "" 
)
static

Provide top entries for file system On windows it is list of existing drivers, on Linux it is "Files system" and "Home".

Definition at line 535 of file RSysFile.cxx.

Friends And Related Function Documentation

◆ RSysDirLevelIter

friend class RSysDirLevelIter
friend

Definition at line 30 of file RSysFile.hxx.

Member Data Documentation

◆ fDirName

std::string ROOT::Experimental::Browsable::RSysFile::fDirName
private

! fully-qualified directory name

Definition at line 33 of file RSysFile.hxx.

◆ fFileName

std::string ROOT::Experimental::Browsable::RSysFile::fFileName
private

! file name in current dir

Definition at line 34 of file RSysFile.hxx.

◆ fStat

FileStat_t ROOT::Experimental::Browsable::RSysFile::fStat
private

! file stat object

Definition at line 32 of file RSysFile.hxx.

Libraries for ROOT::Experimental::Browsable::RSysFile:
[legend]

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