Logo ROOT  
Reference Guide
Loading...
Searching...
No Matches
ROOT::Browsable::RSysFile Class Reference

Definition at line 27 of file RSysFile.hxx.

Public Types

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
}

Public Member Functions

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

Static Public Member Functions

static int ComparePaths (const RElementPath_t &path1, const RElementPath_t &path2)
 Compare two paths, Returns number of elements matches in both paths.
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.
static EContentKind GetContentKind (const std::string &kind)
 Find item with specified name Default implementation, should work for all.
static std::string GetFileIcon (const std::string &fname)
 Get icon for the type of given file name.
static std::string GetPathAsString (const RElementPath_t &path)
 Converts element path back to string.
static std::shared_ptr< RElementGetSubElement (std::shared_ptr< RElement > &elem, const RElementPath_t &path)
 Returns sub element.
static RElementPath_t GetWorkingPath (const std::string &workdir="")
 Return working path in browser hierarchy.
static bool IsLastKeyCycle ()
 Is only last cycle from the list of keys is shown.
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.
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 "File system" and "Home".
static void SetLastKeyCycle (bool on=true)
 Set flag to show only last cycle from the list of keys.

Private Member Functions

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

Private Attributes

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

Friends

class RSysDirLevelIter

#include <ROOT/Browsable/RSysFile.hxx>

Inheritance diagram for ROOT::Browsable::RSysFile:
ROOT::Browsable::RElement

Member Enumeration Documentation

◆ EActionKind

Possible actions on double-click.

Enumerator
kActNone 

do nothing

kActBrowse 

just browse (expand) item

kActEdit 

can provide data for text editor

kActImage 

can be shown in image viewer, can provide image

kActDraw6 

can be drawn inside ROOT6 canvas

kActDraw7 

can be drawn inside ROOT7 canvas

kActCanvas 

indicate that it is canvas and should be drawn directly

kActTree 

can be shown in tree viewer

kActGeom 

can be shown in geometry viewer

Definition at line 50 of file RElement.hxx.

◆ EContentKind

Enumerator
kNone 

not recognized

kText 

"text" - plain text for code editor

kImage 

"image64" - base64 for supported image formats (png/gif/gpeg)

kPng 

"png" - plain png binary code, returned inside std::string

kJpeg 

"jpg" or "jpeg" - plain jpg binary code, returned inside std::string

kJson 

"json" representation of object, can be used in code editor

kFileName 

"filename" - file name if applicable

Definition at line 37 of file RElement.hxx.

Constructor & Destructor Documentation

◆ RSysFile() [1/2]

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

Create file element.

Definition at line 383 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 404 of file RSysFile.cxx.

◆ ~RSysFile()

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

Member Function Documentation

◆ cd()

virtual bool ROOT::Browsable::RElement::cd ( )
inlinevirtualinherited

Select element as active.

Reimplemented in TDirectoryElement.

Definition at line 103 of file RElement.hxx.

◆ CheckValid()

virtual bool ROOT::Browsable::RElement::CheckValid ( )
inlinevirtualinherited

Check if element still contains valid content.

Reimplemented in ROOT::Browsable::TObjectElement.

Definition at line 91 of file RElement.hxx.

◆ ComparePaths()

int RElement::ComparePaths ( const RElementPath_t & path1,
const RElementPath_t & path2 )
staticinherited

Compare two paths, Returns number of elements matches in both paths.

Definition at line 147 of file RElement.cxx.

◆ CreateItem()

std::unique_ptr< RItem > RElement::CreateItem ( ) const
virtualinherited

Returns item with element description.

Reimplemented in RNTupleElement, ROOT::Browsable::TObjectElement, RTreeMapElement, RVisualizationElement, and TKeyElement.

Definition at line 107 of file RElement.cxx.

◆ ExtractItemIndex()

int RElement::ExtractItemIndex ( std::string & name)
staticinherited

Extract index from name Index coded by client with ###<indx>$$$ suffix Such coding used by browser to identify element by index.

Definition at line 180 of file RElement.cxx.

◆ GetChildsIter()

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

Returns iterator for files in directory.

Reimplemented from ROOT::Browsable::RElement.

Definition at line 464 of file RSysFile.cxx.

◆ GetContent()

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

Returns file content of requested kind.

Reimplemented from ROOT::Browsable::RElement.

Definition at line 475 of file RSysFile.cxx.

◆ GetContentKind()

RElement::EContentKind RElement::GetContentKind ( const std::string & kind)
staticinherited

Find item with specified name Default implementation, should work for all.

Definition at line 54 of file RElement.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::Browsable::RElement.

Definition at line 442 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 355 of file RSysFile.cxx.

◆ GetFullName()

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

Returns full file name - including fully qualified path.

Definition at line 456 of file RSysFile.cxx.

◆ GetName()

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

Name of RElement - file name in this case.

return file name

Implements ROOT::Browsable::RElement.

Definition at line 412 of file RSysFile.cxx.

◆ GetNumChilds()

int RElement::GetNumChilds ( )
virtualinherited

Returns number of childs By default creates iterator and iterates over all items.

Reimplemented in TBrBrowsableElement, TCollectionElement, and TFolderElement.

Definition at line 41 of file RElement.cxx.

◆ GetObject()

virtual std::unique_ptr< RHolder > ROOT::Browsable::RElement::GetObject ( )
inlinevirtualinherited

◆ GetPathAsString()

std::string RElement::GetPathAsString ( const RElementPath_t & path)
staticinherited

Converts element path back to string.

Definition at line 162 of file RElement.cxx.

◆ GetSubElement()

std::shared_ptr< RElement > RElement::GetSubElement ( std::shared_ptr< RElement > & elem,
const RElementPath_t & path )
staticinherited

Returns sub element.

Definition at line 71 of file RElement.cxx.

◆ GetTitle()

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

Title of RElement - full file name.

Reimplemented from ROOT::Browsable::RElement.

Definition at line 51 of file RSysFile.hxx.

◆ GetWorkingPath()

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

Return working path in browser hierarchy.

Definition at line 547 of file RSysFile.cxx.

◆ IsCapable()

virtual bool ROOT::Browsable::RElement::IsCapable ( EActionKind action) const
inlinevirtualinherited

◆ IsExpandByDefault()

virtual bool ROOT::Browsable::RElement::IsExpandByDefault ( ) const
inlinevirtualinherited

Should item representing element be expand by default.

Reimplemented in ROOT::Browsable::RWrapper.

Definition at line 100 of file RElement.hxx.

◆ IsFolder()

virtual bool ROOT::Browsable::RElement::IsFolder ( ) const
inlinevirtualinherited

◆ IsLastKeyCycle()

bool RElement::IsLastKeyCycle ( )
staticinherited

Is only last cycle from the list of keys is shown.

Definition at line 195 of file RElement.cxx.

◆ IsObject()

virtual bool ROOT::Browsable::RElement::IsObject ( void * )
inlinevirtualinherited

Check if element contains provided pointer.

Reimplemented in ROOT::Browsable::TObjectElement.

Definition at line 83 of file RElement.hxx.

◆ 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::Browsable::RElement.

Definition at line 420 of file RSysFile.cxx.

◆ ParsePath()

RElementPath_t RElement::ParsePath ( const std::string & str)
staticinherited

Parse string path to produce RElementPath_t One should avoid to use string pathes as much as possible.

Definition at line 118 of file RElement.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 "File system" and "Home".

Definition at line 509 of file RSysFile.cxx.

◆ SetLastKeyCycle()

void RElement::SetLastKeyCycle ( bool on = true)
staticinherited

Set flag to show only last cycle from the list of keys.

Definition at line 203 of file RElement.cxx.

◆ RSysDirLevelIter

friend class RSysDirLevelIter
friend

Definition at line 29 of file RSysFile.hxx.

Member Data Documentation

◆ fDirName

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

! fully-qualified directory name

Definition at line 32 of file RSysFile.hxx.

◆ fFileName

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

! file name in current dir

Definition at line 33 of file RSysFile.hxx.

◆ fStat

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

! file stat object

Definition at line 31 of file RSysFile.hxx.


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