|
| 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 | ~Project () |
| Virtual destructor.
|
|
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 | Refresh () |
|
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) |
|
virtual | ~IProject () |
| Virtual destructor.
|
|
virtual std::vector< QAction * > | GetContextMenuActions () const =0 |
| Get Qt actions that can be triggered on this project.
|
|
virtual std::vector< WidgetCallback > | GetWidgets ()=0 |
| Get map of widget creator callbacks.
|
|
void | Notify (const EventType &) |
|
void | Register (const U *, CallbackType) |
|
void | Unregister (const U *) |
|
void | UnregisterAll () |
|
void | Notify (const EventType &) |
|
void | Register (const U *, CallbackType) |
|
void | Unregister (const U *) |
|
void | UnregisterAll () |
|
| Preferences (const std::string &file) |
|
| Preferences (Preferences &&) |
|
virtual const boost::property_tree::ptree & | GetPreferences () const |
|
virtual void | SetPreferences (const boost::property_tree::ptree &) |
|
|
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 >> |
|
typedef std::function< void(const EventType &)> | CallbackType |
|
typedef Event::PreferencesChanged | EventType |
|
typedef const std::weak_ptr< const void > * | KeyType |
|
typedef std::function< void(const EventType &)> | CallbackType |
|
typedef Event::ProjectChanged | EventType |
|
typedef const std::weak_ptr< const void > * | KeyType |
|
template<class FileType, const std::string & index_file>
class SimShell::Ws::Project< FileType, index_file >
Abstraction of project in workspace on file system.
Template parameters:
- FileType: Any class that has a public static data member named 'Constructor' of (function) type IFile::ConstructorType in it. The 'Constructor' function should return any IFile implementation based on the file name and path. (Typically the extension is used to determine the type actually constructed)
- index_file: String containing the filename of the project index file. Possibly a hidden file to discourage manual editing. The project index file only contains the project user data (see IUserData), but may contain the list of project files in the future.
Definition at line 45 of file cpp_simshell/workspace/Project.h.