Envision
A visual programming IDE for object-oriented languages
List of all members | Public Types | Static Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes
Export::Exporter Class Reference

Public Types

enum class  ExportSpan : int { AllFiles , SomeFiles }
 

Static Public Member Functions

static std::shared_ptr< TextToNodeMapexportToFileSystem (const QString &pathToProjectContainerDir, SourceDir *exportTree, FragmentLayouter *layouter, ExportSpan span)
 

Private Member Functions

 Exporter (QDir projectDirOnFilesystem, SourceDir *exportTree, FragmentLayouter *layouter, ExportSpan span)
 
void deleteObsoletePreviousExports ()
 
void readPreviousExports ()
 
void saveCurrentExports ()
 
void saveDir (QDir &fileSystemDir, SourceDir *sourceDir)
 
void saveFile (QDir &fileSystemDir, SourceFile *sourceFile)
 

Private Attributes

std::set< QString > currentExports_
 
FragmentLayouterlayouter_ {}
 
std::shared_ptr< TextToNodeMapmap_
 
std::set< QString > previousExports_
 
QDir rootDir_
 
ExportSpan span_ {}
 

Static Private Attributes

static const QString previousExportsFileName_ {"envision_exported_files"}
 

Member Enumeration Documentation

◆ ExportSpan

enum Export::Exporter::ExportSpan : int
strong
Enumerator
AllFiles 

Use this option to indicate that all files are exported.

If there is an existing envision_exported_files file, it will be used to match the newly exported file names to the old ones and any obsolete filenames from previous exports will be deleted.

SomeFiles 

Use this option to indicate that only some files are exported.

New files will be added to the list of exported files in the envision_exported_files file but no existing files will be deleted (only overwritten if needed).

Constructor & Destructor Documentation

◆ Exporter()

Export::Exporter::Exporter ( QDir  projectDirOnFilesystem,
SourceDir exportTree,
FragmentLayouter layouter,
ExportSpan  span 
)
private

Member Function Documentation

◆ deleteObsoletePreviousExports()

void Export::Exporter::deleteObsoletePreviousExports ( )
private

◆ exportToFileSystem()

std::shared_ptr< TextToNodeMap > Export::Exporter::exportToFileSystem ( const QString &  pathToProjectContainerDir,
SourceDir exportTree,
FragmentLayouter layouter,
ExportSpan  span 
)
static

◆ readPreviousExports()

void Export::Exporter::readPreviousExports ( )
private

◆ saveCurrentExports()

void Export::Exporter::saveCurrentExports ( )
private

◆ saveDir()

void Export::Exporter::saveDir ( QDir &  fileSystemDir,
SourceDir sourceDir 
)
private

◆ saveFile()

void Export::Exporter::saveFile ( QDir &  fileSystemDir,
SourceFile sourceFile 
)
private

Member Data Documentation

◆ currentExports_

std::set<QString> Export::Exporter::currentExports_
private

◆ layouter_

FragmentLayouter* Export::Exporter::layouter_ {}
private

◆ map_

std::shared_ptr<TextToNodeMap> Export::Exporter::map_
private

◆ previousExports_

std::set<QString> Export::Exporter::previousExports_
private

◆ previousExportsFileName_

const QString Export::Exporter::previousExportsFileName_ {"envision_exported_files"}
staticprivate

◆ rootDir_

QDir Export::Exporter::rootDir_
private

◆ span_

ExportSpan Export::Exporter::span_ {}
private