VPTissue Reference Manual
SimPT_Shell::Ws::Project Class Reference

Abstraction of project info on filesystem, as well as a maintainer of a work session. More...

#include <Project.h>

Inheritance diagram for SimPT_Shell::Ws::Project:
Inheritance graph
Collaboration diagram for SimPT_Shell::Ws::Project:
Collaboration graph

Public Member Functions

 Project (const std::string &path, const std::string &prefs_file, const std::shared_ptr< SimShell::Ws::IWorkspace > &)
 
virtual ~Project ()
 Virtual destructor.
 
virtual std::vector< QAction * > GetContextMenuActions () const
 
virtual std::vector< WidgetCallbackGetWidgets ()
 
virtual void Refresh ()
 Overrides SimShell::Ws::Project::Refresh.
 
- Public Member Functions inherited from SimShell::Ws::Project< FileType, index_file >
 Project (const std::string &path, const std::string &prefs_file, const std::shared_ptr< IWorkspace > &w)
 Constructor. More...
 
 Project (Project< FileType, index_file > &&)
 Move constructor.
 
virtual FileIterator Add (const std::string &name)
 
virtual std::shared_ptr< IFileBack ()
 
virtual std::shared_ptr< const IFileBack () const
 
virtual FileIterator begin ()
 
virtual ConstFileIterator begin () const
 
virtual void Close ()
 
virtual FileIterator end ()
 
virtual ConstFileIterator end () const
 
virtual FileIterator Find (const std::string &name)
 
virtual ConstFileIterator Find (const std::string &name) const
 
virtual std::shared_ptr< IFileFront ()
 
virtual std::shared_ptr< const IFileFront () const
 
virtual std::shared_ptr< IFileGet (const std::string &name)
 
virtual std::shared_ptr< const IFileGet (const std::string &name) const
 
virtual const std::string & GetIndexFile () const
 
virtual const std::string & GetPath () const
 
virtual std::shared_ptr< Session::ISessionGetSession () const
 
virtual std::string GetSessionFileName () const
 
virtual const boost::property_tree::ptree & GetUserData (const std::string &user) const
 
virtual bool IsLeaf (const std::string &name) const
 
virtual bool IsOpened () const
 
virtual bool IsWatchingDirectory () const
 
virtual void Open ()
 
virtual void Open (const std::string &name)
 
virtual void Open (FileIterator)
 
virtual void Remove (const std::string &name)
 
virtual void Remove (FileIterator)
 
virtual Session::ISessionSession () const
 
virtual void SetUserData (const std::string &user, const boost::property_tree::ptree &)
 
virtual void SetWatchingDirectory (bool)
 
- Public Member Functions inherited from SimShell::Ws::IProject
virtual ~IProject ()
 Virtual destructor.
 
- Public Member Functions inherited from SimPT_Sim::Util::Subject< Event::PreferencesChanged, std::weak_ptr< const void > >
void Notify (const EventType &)
 
void Register (const U *, CallbackType)
 
void Unregister (const U *)
 
void UnregisterAll ()
 
- Public Member Functions inherited from SimPT_Sim::Util::Subject< Event::ProjectChanged, std::weak_ptr< const void > >
void Notify (const EventType &)
 
void Register (const U *, CallbackType)
 
void Unregister (const U *)
 
void UnregisterAll ()
 
- Public Member Functions inherited from SimShell::Ws::Preferences
 Preferences (const std::string &file)
 
 Preferences (Preferences &&)
 
virtual const boost::property_tree::ptree & GetPreferences () const
 
virtual void SetPreferences (const boost::property_tree::ptree &)
 

Static Public Attributes

static const ConstructorType Constructor
 

Additional Inherited Members

- Public Types inherited from SimShell::Ws::IProject
using ConstFileIterator = typename FileMap::const_iterator
 
using ConstructorType = std::function< std::shared_ptr< IProject >(const std::string &, const std::string &, const std::string &, const std::shared_ptr< IWorkspace > &)>
 First argument : type of project to create. More...
 
using FileIterator = typename FileMap::iterator
 
using FileMap = std::map< std::string, std::shared_ptr< IFile >>
 
- Public Types inherited from SimPT_Sim::Util::Subject< Event::PreferencesChanged, std::weak_ptr< const void > >
typedef std::function< void(const EventType &)> CallbackType
 
typedef Event::PreferencesChanged EventType
 
typedef const std::weak_ptr< const void > * KeyType
 
- Public Types inherited from SimPT_Sim::Util::Subject< Event::ProjectChanged, std::weak_ptr< const void > >
typedef std::function< void(const EventType &)> CallbackType
 
typedef Event::ProjectChanged EventType
 
typedef const std::weak_ptr< const void > * KeyType
 
- Protected Attributes inherited from SimShell::Ws::Project< FileType, index_file >
FileMap m_files
 Mapping from file name to file objects.
 
Util::FileSystemWatcher m_filesystem_watcher
 Watches project directory for changes.
 
std::string m_path
 Path of project directory.
 
std::shared_ptr< Session::ISessionm_session
 Opened state.
 
std::string m_session_name
 Name of opened file.
 
boost::property_tree::ptree m_user_data
 User data. Mutable because a GetUserData() with non-existing argument will create an empty user data ptree for that argument.
 
std::shared_ptr< IWorkspacem_workspace
 Workspace to which project belongs.
 
- Protected Attributes inherited from SimShell::Ws::Preferences
boost::property_tree::ptree m_preferences
 

Detailed Description

Abstraction of project info on filesystem, as well as a maintainer of a work session.

SimPT-specific instantiation of SimShell::Ws::Project template.

See also
SimPT_Shell::Ws::Workspace SimShell::Ws::Project

Definition at line 53 of file cpp_simptshell/workspace/Project.h.

Member Function Documentation

std::vector< QAction * > SimPT_Shell::Ws::Project::GetContextMenuActions ( ) const
virtual
See also
SimShell::Ws::IProject

Implements SimShell::Ws::IProject.

Definition at line 85 of file Project.cpp.

std::vector< Project::WidgetCallback > SimPT_Shell::Ws::Project::GetWidgets ( )
virtual
See also
SimShell::Ws::IProject

Implements SimShell::Ws::IProject.

Definition at line 90 of file Project.cpp.


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