Nix (Dev) 3.5.10
dev - 3.5.10 - 1af9301
Loading...
Searching...
No Matches
iv::model::editDiamar::EditDiamarModel Class Referencefinal

#include <EditDiamarModel.hpp>

Inheritance diagram for iv::model::editDiamar::EditDiamarModel:
[legend]
Collaboration diagram for iv::model::editDiamar::EditDiamarModel:
[legend]

Classes

struct  DefaultValues
 
struct  Keys
 
struct  Sections
 

Public Types

typedef std::map< uint16_t, std::shared_ptr< CLogicsDrawingAreaModel > > TMapLogicIdDrawingAreaModel
 

Public Member Functions

 EditDiamarModel ()
 
 EditDiamarModel (const EditDiamarModel &other)=delete
 
 EditDiamarModel (EditDiamarModel &&other)=delete
 
 ~EditDiamarModel () override=default
 
EditDiamarModeloperator= (const EditDiamarModel &other)=delete
 
EditDiamarModeloperator= (EditDiamarModel &&other)=delete
 
void deleteModel () override
 
bool load (const std::string &projectFolder_)
 
bool save (std::string &message) const
 
bool hasChanged (std::string &changesMsg) const
 
void checkIntegrity (AbstractLog *logger, bool strict) const
 
void checkProjectPrerequisites ()
 
void updateAllUnitsLogics ()
 
void eraseInvalidatedLogicElementsOnSaveAction ()
 
void cleanProjectFolder () const
 
std::shared_ptr< CLogicsDrawingAreaModeladdNewLogicsDrawingAreaModel (iv::types::unitId logicId)
 
std::weak_ptr< CLogicsDrawingAreaModelgetLogicsDrawingAreaModel (iv::types::unitId logicId)
 
std::weak_ptr< iv::units::UnitsgetAllNotInProjectUnits () const
 
TMapLogicIdDrawingAreaModelgetLogicsDrawingAreaModels ()
 
TMapLogicIdDrawingAreaModelgetLibrariesDrawingAreaModels ()
 
const std::map< uint16_t, std::string > & getMapLibraries () const
 
const std::map< uint16_t, std::string > & getMapLibrariesFiles () const
 
bool existsLibraryFileDrawingAreaModel (const std::string &file)
 
bool existsLibraryNameDrawingAreaModel (const std::string &name)
 
std::shared_ptr< CLogicsDrawingAreaModeladdNewLibrariesDrawingAreaModel (iv::types::logic::customBlockId customBlockId)
 
std::optional< iv::types::logic::customBlockIdloadCustomBlockDrawingAreaModel (std::string_view filePath)
 
std::optional< iv::types::logic::customBlockIdinsertCustomBlockDrawingAreaModel (const std::shared_ptr< CLogicsDrawingAreaModel > &drawingAreaModel)
 
iv::types::logic::customBlockId newCustomBlockId () const
 
bool prvReadCustomBlocksLogicFile ()
 

Public Attributes

bool m_projectLoaded {false}
 
std::unique_ptr< iv::model::diamar::DiamarModelm_diamarModel
 
std::map< iv::types::unitId, std::shared_ptr< CLogicsDrawingAreaModel > > m_logicsDrawingAreaModels
 
std::map< iv::types::logic::customBlockId, std::shared_ptr< CLogicsDrawingAreaModel > > m_librariesDrawingAreaModels
 
std::map< iv::types::logic::customBlockId, std::string > m_mapLibraries
 
std::map< iv::types::logic::customBlockId, std::string > m_mapLibrariesFiles
 
std::string projectFolder
 
iv::eProgramCaller programCaller {iv::eProgramCaller::Diamar}
 

Private Member Functions

void prvUpdateLogicInfo () const
 
bool prvSaveLogicLedFiles () const
 Saves logic LED files, which contains editor's logic canvas info.
 
bool prvSaveLogicFiles (std::string &message) const
 
bool prvSaveStationLogicFile () const
 
bool prvReadLogicLedFiles ()
 
bool prvSaveCustomBlocksLogicFile () const
 
void prvInitializeOnlineParameters (iv::types::unitId logicUnitId, const std::shared_ptr< CLogicFile > &logicFile) const
 
void prvProcessOnlineParameters (iv::types::unitId logicUnitId, const std::shared_ptr< CLogicFile > &logicFile) const
 

Private Attributes

friend CDataAppEditDiamar
 
std::shared_ptr< iv::units::Unitsm_allNotInProjectUnits
 

Member Typedef Documentation

◆ TMapLogicIdDrawingAreaModel

Constructor & Destructor Documentation

◆ EditDiamarModel() [1/3]

iv::model::editDiamar::EditDiamarModel::EditDiamarModel ( )

◆ EditDiamarModel() [2/3]

iv::model::editDiamar::EditDiamarModel::EditDiamarModel ( const EditDiamarModel & other)
delete

◆ EditDiamarModel() [3/3]

iv::model::editDiamar::EditDiamarModel::EditDiamarModel ( EditDiamarModel && other)
delete

◆ ~EditDiamarModel()

iv::model::editDiamar::EditDiamarModel::~EditDiamarModel ( )
overridedefault

Member Function Documentation

◆ addNewLibrariesDrawingAreaModel()

std::shared_ptr< CLogicsDrawingAreaModel > iv::model::editDiamar::EditDiamarModel::addNewLibrariesDrawingAreaModel ( iv::types::logic::customBlockId customBlockId)

◆ addNewLogicsDrawingAreaModel()

std::shared_ptr< CLogicsDrawingAreaModel > iv::model::editDiamar::EditDiamarModel::addNewLogicsDrawingAreaModel ( iv::types::unitId logicId)

◆ checkIntegrity()

void iv::model::editDiamar::EditDiamarModel::checkIntegrity ( AbstractLog * logger,
bool strict ) const

◆ checkProjectPrerequisites()

void iv::model::editDiamar::EditDiamarModel::checkProjectPrerequisites ( )

◆ cleanProjectFolder()

void iv::model::editDiamar::EditDiamarModel::cleanProjectFolder ( ) const

◆ deleteModel()

void iv::model::editDiamar::EditDiamarModel::deleteModel ( )
overridevirtual

Implements iv::model::IModel.

◆ eraseInvalidatedLogicElementsOnSaveAction()

void iv::model::editDiamar::EditDiamarModel::eraseInvalidatedLogicElementsOnSaveAction ( )

◆ existsLibraryFileDrawingAreaModel()

bool iv::model::editDiamar::EditDiamarModel::existsLibraryFileDrawingAreaModel ( const std::string & file)

◆ existsLibraryNameDrawingAreaModel()

bool iv::model::editDiamar::EditDiamarModel::existsLibraryNameDrawingAreaModel ( const std::string & name)

◆ getAllNotInProjectUnits()

std::weak_ptr< iv::units::Units > iv::model::editDiamar::EditDiamarModel::getAllNotInProjectUnits ( ) const
nodiscard

◆ getLibrariesDrawingAreaModels()

EditDiamarModel::TMapLogicIdDrawingAreaModel & iv::model::editDiamar::EditDiamarModel::getLibrariesDrawingAreaModels ( )
nodiscard

◆ getLogicsDrawingAreaModel()

std::weak_ptr< CLogicsDrawingAreaModel > iv::model::editDiamar::EditDiamarModel::getLogicsDrawingAreaModel ( iv::types::unitId logicId)

◆ getLogicsDrawingAreaModels()

EditDiamarModel::TMapLogicIdDrawingAreaModel & iv::model::editDiamar::EditDiamarModel::getLogicsDrawingAreaModels ( )
nodiscard

◆ getMapLibraries()

const std::map< uint16_t, std::string > & iv::model::editDiamar::EditDiamarModel::getMapLibraries ( ) const
nodiscard

◆ getMapLibrariesFiles()

const std::map< uint16_t, std::string > & iv::model::editDiamar::EditDiamarModel::getMapLibrariesFiles ( ) const
nodiscard

◆ hasChanged()

bool iv::model::editDiamar::EditDiamarModel::hasChanged ( std::string & changesMsg) const

◆ insertCustomBlockDrawingAreaModel()

std::optional< iv::types::logic::customBlockId > iv::model::editDiamar::EditDiamarModel::insertCustomBlockDrawingAreaModel ( const std::shared_ptr< CLogicsDrawingAreaModel > & drawingAreaModel)

◆ load()

bool iv::model::editDiamar::EditDiamarModel::load ( const std::string & projectFolder_)

◆ loadCustomBlockDrawingAreaModel()

std::optional< iv::types::logic::customBlockId > iv::model::editDiamar::EditDiamarModel::loadCustomBlockDrawingAreaModel ( std::string_view filePath)

◆ newCustomBlockId()

iv::types::logic::customBlockId iv::model::editDiamar::EditDiamarModel::newCustomBlockId ( ) const

◆ operator=() [1/2]

EditDiamarModel & iv::model::editDiamar::EditDiamarModel::operator= ( const EditDiamarModel & other)
delete

◆ operator=() [2/2]

EditDiamarModel & iv::model::editDiamar::EditDiamarModel::operator= ( EditDiamarModel && other)
delete

◆ prvInitializeOnlineParameters()

void iv::model::editDiamar::EditDiamarModel::prvInitializeOnlineParameters ( iv::types::unitId logicUnitId,
const std::shared_ptr< CLogicFile > & logicFile ) const
private

◆ prvProcessOnlineParameters()

void iv::model::editDiamar::EditDiamarModel::prvProcessOnlineParameters ( iv::types::unitId logicUnitId,
const std::shared_ptr< CLogicFile > & logicFile ) const
private

◆ prvReadCustomBlocksLogicFile()

bool iv::model::editDiamar::EditDiamarModel::prvReadCustomBlocksLogicFile ( )

◆ prvReadLogicLedFiles()

bool iv::model::editDiamar::EditDiamarModel::prvReadLogicLedFiles ( )
private

◆ prvSaveCustomBlocksLogicFile()

bool iv::model::editDiamar::EditDiamarModel::prvSaveCustomBlocksLogicFile ( ) const
nodiscardprivate

◆ prvSaveLogicFiles()

bool iv::model::editDiamar::EditDiamarModel::prvSaveLogicFiles ( std::string & message) const
private

◆ prvSaveLogicLedFiles()

bool iv::model::editDiamar::EditDiamarModel::prvSaveLogicLedFiles ( ) const
nodiscardprivate

Saves logic LED files, which contains editor's logic canvas info.

Returns
True if saved correctly, otherwise, returns false.

◆ prvSaveStationLogicFile()

bool iv::model::editDiamar::EditDiamarModel::prvSaveStationLogicFile ( ) const
nodiscardprivate

◆ prvUpdateLogicInfo()

void iv::model::editDiamar::EditDiamarModel::prvUpdateLogicInfo ( ) const
private

◆ save()

bool iv::model::editDiamar::EditDiamarModel::save ( std::string & message) const

◆ updateAllUnitsLogics()

void iv::model::editDiamar::EditDiamarModel::updateAllUnitsLogics ( )

Member Data Documentation

◆ CDataAppEditDiamar

friend iv::model::editDiamar::EditDiamarModel::CDataAppEditDiamar
private

◆ m_allNotInProjectUnits

std::shared_ptr<iv::units::Units> iv::model::editDiamar::EditDiamarModel::m_allNotInProjectUnits
private

◆ m_diamarModel

std::unique_ptr<iv::model::diamar::DiamarModel> iv::model::editDiamar::EditDiamarModel::m_diamarModel

◆ m_librariesDrawingAreaModels

std::map<iv::types::logic::customBlockId, std::shared_ptr<CLogicsDrawingAreaModel> > iv::model::editDiamar::EditDiamarModel::m_librariesDrawingAreaModels

◆ m_logicsDrawingAreaModels

std::map<iv::types::unitId, std::shared_ptr<CLogicsDrawingAreaModel> > iv::model::editDiamar::EditDiamarModel::m_logicsDrawingAreaModels

◆ m_mapLibraries

std::map<iv::types::logic::customBlockId, std::string> iv::model::editDiamar::EditDiamarModel::m_mapLibraries

◆ m_mapLibrariesFiles

std::map<iv::types::logic::customBlockId, std::string> iv::model::editDiamar::EditDiamarModel::m_mapLibrariesFiles

◆ m_projectLoaded

bool iv::model::editDiamar::EditDiamarModel::m_projectLoaded {false}

◆ programCaller

iv::eProgramCaller iv::model::IModel::programCaller {iv::eProgramCaller::Diamar}
inherited

◆ projectFolder

std::string iv::model::IModel::projectFolder
inherited

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