All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
Public Member Functions
Qtilities::ProjectManagement::Interfaces::IProject Class Reference

Interface through which the project manager communicates with projects. More...

#include <IProject.h>

Inheritance diagram for Qtilities::ProjectManagement::Interfaces::IProject:
Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void addProjectItem (IProjectItem *project_item, bool inherit_modification_state=false)=0
 Adds a project item to this project.
virtual bool closeProject (ITask *task=0)=0
 Close the project.
virtual bool loadProject (const QString &file_name, bool close_current_first=true, ITask *task=0)=0
 Load the project from the specified file.
virtual bool newProject ()=0
 Called by the project manager when a new project needs to be created.
virtual QString projectFile () const =0
 Project file name. Must return an empty string when no project file is associated with the project at present.
virtual IProjectItemprojectItem (int index)=0
 Gives a reference to the project item at the given index.
virtual int projectItemCount () const =0
 Gives a the number of project items contained in this project.
virtual QStringList projectItemNames () const =0
 Gives a list of all the project items in the project.
virtual QString projectName () const =0
 Project name.
virtual void removeProjectItem (IProjectItem *project_item)=0
 Removes a project item to this project.
virtual bool saveProject (const QString &file_name, ITask *task=0)=0
 Save the project to a specified file.
virtual void setProjectItems (QList< IProjectItem * > project_items, bool inherit_modification_state=false)=0
 Sets the list of project items for this project.
- Public Member Functions inherited from Qtilities::Core::Interfaces::IModificationNotifier
virtual bool isModified () const =0
 Indicates the modification state of the object.
virtual void modificationStateChanged (bool is_modified) const =0
 Implement this function as a signal when implementing the object.
virtual void setModificationState (bool new_state, NotificationTargets notification_targets=NotifyListeners, bool force_notifications=false)=0
 Sets the modification state of the object. Returns true if it was successfull.
- Public Member Functions inherited from Qtilities::Core::Interfaces::IObjectBase
virtual QObject * objectBase ()=0
 Returns the QObject* base of the interface.
virtual const QObject * objectBase () const =0
 Returns a const QObject* base of the interface.
QString objectOriginID () const
 Allows interfaces to provide some sort of source identification.
void setObjectOriginID (const QString &object_origin_id)
 Allows setting of the object source ID of this interface implementation.

Additional Inherited Members

- Public Types inherited from Qtilities::Core::Interfaces::IModificationNotifier
enum  NotificationTarget { NotifyNone = 0, NotifyListeners = 1, NotifySubjects = 2 }
 The targets which should be notified when the state of the object implementing this interface changes. More...

Detailed Description

Interface through which the project manager communicates with projects.


Member Function Documentation

virtual bool Qtilities::ProjectManagement::Interfaces::IProject::loadProject ( const QString &  file_name,
bool  close_current_first = true,
ITask task = 0 
)
pure virtual

Load the project from the specified file.

Parameters:
close_current_firstIn some cases it is not needed to close the current project first. An example of this is when you just created a new project and now load an existing project file into the project.
virtual void Qtilities::ProjectManagement::Interfaces::IProject::setProjectItems ( QList< IProjectItem * >  project_items,
bool  inherit_modification_state = false 
)
pure virtual

Sets the list of project items for this project.

Parameters:
inherit_modification_stateWhen true, the project will inherit the modification state of the new parts. Else the items will inherit the state of the project.

Implemented in Qtilities::ProjectManagement::Project.



Qtilities : Reference Documentation Back to top Copyright © 2009-2013, Jaco Naudé