![]() | ![]() | ![]() | 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 >> |