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< WidgetCallback > GetWidgets ()
 
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< IFile > Back ()
 
virtual std::shared_ptr< const IFile > Back () 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< IFile > Front ()
 
virtual std::shared_ptr< const IFile > Front () const
 
virtual std::shared_ptr< IFile > Get (const std::string &name)
 
virtual std::shared_ptr< const IFile > Get (const std::string &name) const
 
virtual const std::string & GetIndexFile () const
 
virtual const std::string & GetPath () const
 
virtual std::shared_ptr< Session::ISession > GetSession () 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::ISession & Session () 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::ISession > m_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< IWorkspace > m_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: