![]() | ![]() | ![]() | Libplanner Reference Manual | ![]() |
---|
MrpProject —
#include <libplanner/planner.h> struct MrpProjectPriv; struct MrpProject; gboolean (*MrpTaskTraverseFunc) (MrpTask*, gpointer); MrpProject* mrp_project_new (MrpApplication *app); gboolean mrp_project_is_empty (MrpProject *project); gboolean mrp_project_needs_saving (MrpProject *project); mrptime mrp_project_get_project_start (MrpProject *project); void mrp_project_set_project_start (MrpProject *project, mrptime start); gboolean mrp_project_load (MrpProject *project, const gchar *uri, GError **error); gboolean mrp_project_save (MrpProject *project, gboolean force, GError **error); gboolean mrp_project_save_to_xml (MrpProject *project, gchar **str, GError **error); gboolean mrp_project_load_from_xml (MrpProject *project, const gchar *str, GError **error); gboolean mrp_project_save_as (MrpProject *project, const gchar *uri, gboolean force, GError **error); void mrp_project_close (MrpProject *project); const gchar* mrp_project_get_uri (MrpProject *project); MrpResource* mrp_project_get_resource_by_name (MrpProject *project, const gchar *name); GList* mrp_project_get_resources (MrpProject *project); void mrp_project_add_resource (MrpProject *project, MrpResource *resource); void mrp_project_remove_resource (MrpProject *project, MrpResource *resource); MrpGroup* mrp_project_get_group_by_name (MrpProject *project, const gchar *name); GList* mrp_project_get_groups (MrpProject *project); void mrp_project_add_group (MrpProject *project, MrpGroup *group); void mrp_project_remove_group (MrpProject *project, MrpGroup *group); MrpTask* mrp_project_get_task_by_name (MrpProject *project, const gchar *name); GList* mrp_project_get_all_tasks (MrpProject *project); void mrp_project_insert_task (MrpProject *project, MrpTask *parent, gint position, MrpTask *task); void mrp_project_remove_task (MrpProject *project, MrpTask *task); gboolean mrp_project_move_task (MrpProject *project, MrpTask *task, MrpTask *sibling, MrpTask *parent, gboolean before, GError **error); MrpTask* mrp_project_get_root_task (MrpProject *project); void mrp_project_task_traverse (MrpProject *project, MrpTask *root, MrpTaskTraverseFunc func, gpointer user_data); void mrp_project_reschedule (MrpProject *project); gint mrp_project_calculate_task_work (MrpProject *project, MrpTask *task, mrptime start, mrptime finish); GList* mrp_project_get_properties_from_type (MrpProject *project, GType object_type); void mrp_project_add_property (MrpProject *project, GType object_type, MrpProperty *property, gboolean user_defined); void mrp_project_remove_property (MrpProject *project, GType object_type, const gchar *name); MrpProperty* mrp_project_get_property (MrpProject *project, const gchar *name, GType object_type); gboolean mrp_project_has_property (MrpProject *project, GType owner_type, const gchar *name); MrpCalendar* mrp_project_get_root_calendar (MrpProject *project); MrpCalendar* mrp_project_get_calendar (MrpProject *project);
"calendar" MrpCalendar : Read / Write "default-group" MrpGroup : Read / Write "manager" gchararray : Read / Write "name" gchararray : Read / Write "organization" gchararray : Read / Write "phase" gchararray : Read / Write "phases" gpointer : Read / Write "project-start" glong : Read / Write
"calendar-tree-changed" void user_function (MrpProject *mrpproject, MrpCalendar *arg1, gpointer user_data); "day-added" void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data); "day-changed" void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data); "day-removed" void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data); "default-group-changed" void user_function (MrpProject *mrpproject, MrpGroup *arg1, gpointer user_data); "group-added" void user_function (MrpProject *mrpproject, MrpGroup *arg1, gpointer user_data); "group-removed" void user_function (MrpProject *mrpproject, MrpGroup *arg1, gpointer user_data); "loaded" void user_function (MrpProject *mrpproject, gpointer user_data); "needs-saving-changed" void user_function (MrpProject *mrpproject, gboolean arg1, gpointer user_data); "property-added" void user_function (MrpProject *mrpproject, glong arg1, gpointer arg2, gpointer user_data); "property-changed" void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data); "property-removed" void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data); "resource-added" void user_function (MrpProject *mrpproject, MrpResource *arg1, gpointer user_data); "resource-removed" void user_function (MrpProject *mrpproject, MrpResource *arg1, gpointer user_data); "task-inserted" void user_function (MrpProject *mrpproject, MrpTask *arg1, gpointer user_data); "task-moved" void user_function (MrpProject *mrpproject, MrpTask *arg1, gpointer user_data); "task-removed" void user_function (MrpProject *mrpproject, MrpTask *arg1, gpointer user_data);
struct MrpProjectPriv;
A private struct for internal use only. The definition of this structure is not publically available.
gboolean (*MrpTaskTraverseFunc) (MrpTask*, gpointer);
A function to use with mrp_project_task_traverse(). task is the currently traversed task, and data is the user data passed to the mrp_project_task_traverse(). The traversal can be stopped by returning TRUE.
Param1 : | |
Param2 : | |
Returns : | TRUE if the traversal is to be stopped. |
MrpProject* mrp_project_new (MrpApplication *app);
Creates a new MrpProject.
app : | MrpApplication that creates the new project. |
Returns : | the MrpProject |
gboolean mrp_project_is_empty (MrpProject *project);
Checks whether a project is empty.
project : | an MrpProject |
Returns : | TRUE if project is empty, otherwise FALSE |
gboolean mrp_project_needs_saving (MrpProject *project);
Checks if project needs saving
project : | an MrpProject |
Returns : | TRUE if project has been altered since last save, otherwise FALSE |
mrptime mrp_project_get_project_start (MrpProject *project);
Fetches the project start from project.
project : | an MrpProject |
Returns : | the project start |
void mrp_project_set_project_start (MrpProject *project, mrptime start);
Set the project start.
project : | an MrpProject |
start : | project start time |
gboolean mrp_project_load (MrpProject *project, const gchar *uri, GError **error);
Loads a project stored at uri into project.
project : | an MrpProject |
uri : | the URI where project should be read from |
error : | location to store error, or NULL |
Returns : | Returns TRUE on success, otherwise FALSE. |
gboolean mrp_project_save (MrpProject *project, gboolean force, GError **error);
Saves a project.
project : | an MrpProject |
force : | overwrite changes done by someone else if necessary |
error : | location to store error, or NULL |
Returns : | TRUE on success, otherwise FALSE |
gboolean mrp_project_save_to_xml (MrpProject *project, gchar **str, GError **error);
Saves a project as XML to a string buffer.
project : | an MrpProject |
str : | location to store XML string |
error : | location to store error, or NULL |
Returns : | TRUE on success, otherwise FALSE |
gboolean mrp_project_load_from_xml (MrpProject *project, const gchar *str, GError **error);
Loads a project from XML data into project.
project : | an MrpProject |
str : | XML string with project data to read from |
error : | location to store error, or NULL |
Returns : | Returns TRUE on success, otherwise FALSE. |
gboolean mrp_project_save_as (MrpProject *project, const gchar *uri, gboolean force, GError **error);
Saves a project to a specific URI.
project : | an MrpProject |
uri : | URI to save to |
force : | overwrite an existing file if necessary |
error : | location to store error, or NULL |
Returns : | TRUE on success, otherwise FALSE |
void mrp_project_close (MrpProject *project);
Closes a project.
project : | an MrpProject |
const gchar* mrp_project_get_uri (MrpProject *project);
Fetches the URI from project.
project : | an MrpProject |
Returns : | the URI of project |
MrpResource* mrp_project_get_resource_by_name (MrpProject *project, const gchar *name);
Retrieves the first resource in the list that match the name.
project : | an MrpProject |
name : | name to search for |
Returns : | an MrpResource or NULL if not found |
GList* mrp_project_get_resources (MrpProject *project);
Fetches the list of resources in project. This list should not be freed and if caller needs to manipulate it, a copy needs to be made first.
project : | an MrpProject |
Returns : | the resource list of project |
void mrp_project_add_resource (MrpProject *project, MrpResource *resource);
Adds resource to the list of resources in project.
project : | an MrpProject |
resource : | MrpResource to add |
void mrp_project_remove_resource (MrpProject *project, MrpResource *resource);
Removes resource from project.
project : | an MrpProject |
resource : | MrpResource to remove |
MrpGroup* mrp_project_get_group_by_name (MrpProject *project, const gchar *name);
Retrieves the first group with name that matches name
project : | an MrpProject |
name : | a name to look for |
Returns : | an MrpGroup or NULL if not found |
GList* mrp_project_get_groups (MrpProject *project);
Fetches the list of groups in project. The list should not be freed and if caller needs to manipulate it, a copy needs to be made first.
project : | an MrpProject |
Returns : | the group list of project |
void mrp_project_add_group (MrpProject *project, MrpGroup *group);
Adds group to the list of groups in project.
project : | an MrpProject |
group : | MrpGroup to remove |
void mrp_project_remove_group (MrpProject *project, MrpGroup *group);
Removes group from project.
project : | an MrpProject |
group : | MrpGroup to remove |
MrpTask* mrp_project_get_task_by_name (MrpProject *project, const gchar *name);
Retrieves the first task with name matching name. Uses task_traverse to traverse all tasks.
project : | an MrpProject |
name : | the name to look for |
Returns : | an MrpTask or NULL if not found. |
GList* mrp_project_get_all_tasks (MrpProject *project);
Returns a new list of the tasks in project. The caller needs to free the list with g_list_free(), but not the values in it.
project : | an MrpProject |
Returns : | a newly allocated list of the tasks |
void mrp_project_insert_task (MrpProject *project, MrpTask *parent, gint position, MrpTask *task);
Insert task in the task tree with parent at position among other children.
project : | an MrpProject |
parent : | MrpTask that will be parent to inserted task |
position : | position among children to insert task |
task : | MrpTask to insert |
void mrp_project_remove_task (MrpProject *project, MrpTask *task);
Removes task from the task tree in project.
project : | an MrpProject |
task : | MrpTask to remove |
gboolean mrp_project_move_task (MrpProject *project, MrpTask *task, MrpTask *sibling, MrpTask *parent, gboolean before, GError **error);
Move the task in the task tree. If sibling is NULL task will be placed first among the children of parent if before is TRUE, otherwise it will be placed last. If sibling is set, task will be placed before or after sibling depending on the value of before.
project : | an MrpProject |
task : | MrpTask to move |
sibling : | MrpTask that task will be placed next to, can be NULL |
parent : | MrpTask the new parent |
before : | whether to put task before or after sibling. |
error : | location to store error, or NULL |
Returns : | TRUE on success, otherwise FALSE |
MrpTask* mrp_project_get_root_task (MrpProject *project);
Fetches the root task from project.
project : | an MrpProject |
Returns : | the root task |
void mrp_project_task_traverse (MrpProject *project, MrpTask *root, MrpTaskTraverseFunc func, gpointer user_data);
Calls func on each task under root in the task tree. user_data is passed to func. If func returns TRUE, the traversal is stopped.
project : | an MrpProject |
root : | MrpTask indicates where traversing will begin. |
func : | the function to call for each task |
user_data : | user data passed to the function |
void mrp_project_reschedule (MrpProject *project);
Reschedules the project, calculating task start/end/duration etc.
project : | an MrpProject |
gint mrp_project_calculate_task_work (MrpProject *project, MrpTask *task, mrptime start, mrptime finish);
Calculates the work needed to achieve the given start and finish time, with the allocated resources' calendards in consideration.
project : | an MrpProject |
task : | an MrpTask |
start : | a start time, or if -1, the task start time is to be used |
finish : | a finish time |
Returns : | The calculated work. |
GList* mrp_project_get_properties_from_type (MrpProject *project, GType object_type);
Fetches a list of the properties belonging to project and applies to object_type. The list should not be freed and needs to be copied before modified.
project : | an MrpProject |
object_type : | a GType |
Returns : | The list of properties. |
void mrp_project_add_property (MrpProject *project, GType object_type, MrpProperty *property, gboolean user_defined);
Add a custom property to project. The object_type specifies what kind of objects the property applies to. user_defined specifies whether the property is created by the user or by some plugin.
project : | an MrpProject |
object_type : | the owner type |
property : | an MrpProperty |
user_defined : | whether the property is defined through a user interface |
void mrp_project_remove_property (MrpProject *project, GType object_type, const gchar *name);
Removes the property corresponding to object_type and name from project.
project : | an MrpProject |
object_type : | a GType specifing object type to remove property from |
name : | the name of the property |
MrpProperty* mrp_project_get_property (MrpProject *project, const gchar *name, GType object_type);
Fetches an MrpProperty that corresponds to name and object_type. This is mainly for language bindings and should not be used for other cases.
project : | an MrpProject |
name : | the name of the property |
object_type : | object type the property belongs to |
Returns : | An MrpProperty, if found, otherwise NULL. |
gboolean mrp_project_has_property (MrpProject *project, GType owner_type, const gchar *name);
Checks if project has a property named name applying to object of type object_type.
project : | an MrpProperty |
owner_type : | a GType specifing object type look for property on |
name : | the name of the property |
Returns : | TRUE if property name exists on objects of type object_type |
MrpCalendar* mrp_project_get_root_calendar (MrpProject *project);
Fetches the root calendar of project.
project : | an MrpProject |
Returns : | the root calendar of project |
MrpCalendar* mrp_project_get_calendar (MrpProject *project);
Fetches the calendar used by project.
project : | an MrpProject |
Returns : | the calendar used by project |
"calendar" (MrpCalendar : Read / Write) | The calendar used in the project. |
"default-group" (MrpGroup : Read / Write) | Default group for new resources. |
"manager" (gchararray : Read / Write) | The manager of the project. |
"name" (gchararray : Read / Write) | The name of the project. |
"organization" (gchararray : Read / Write) | The organization behind the project. |
"phase" (gchararray : Read / Write) | The phase the project is in. |
"phases" (gpointer : Read / Write) | The various phases the project can be in. |
"project-start" (glong : Read / Write) | The start date of the project. |
void user_function (MrpProject *mrpproject, MrpCalendar *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpGroup *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpGroup *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpGroup *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gpointer user_data);
mrpproject : | the object which received the signal. |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gboolean arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, glong arg1, gpointer arg2, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
arg2 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, gpointer arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpResource *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpResource *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpTask *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpTask *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
void user_function (MrpProject *mrpproject, MrpTask *arg1, gpointer user_data);
mrpproject : | the object which received the signal. |
arg1 : | |
user_data : | user data set when the signal handler was connected. |
<< MrpObject | MrpRelation >> |