MrpProject

MrpProject

Functions

Properties

MrpCalendar * calendar Read / Write
MrpGroup * default-group Read / Write
gchar * manager Read / Write
gchar * name Read / Write
gchar * organization Read / Write
gchar * phase Read / Write
gpointer phases Read / Write
glong project-start Read / Write

Signals

Types and Values

Object Hierarchy

    GObject
    ╰── MrpObject
        ╰── MrpProject

Includes

#include <libplanner/planner.h>

Description

Functions

MrpTaskTraverseFunc ()

gboolean
(*MrpTaskTraverseFunc) (MrpTask *Param1,
                        gpointer Param2);

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.

Returns

TRUE if the traversal is to be stopped.


mrp_project_new ()

MrpProject *
mrp_project_new (MrpApplication *app);

Creates a new MrpProject.

Parameters

app

MrpApplication that creates the new project.

 

Returns

the MrpProject


mrp_project_is_empty ()

gboolean
mrp_project_is_empty (MrpProject *project);

Checks whether a project is empty.

Parameters

project

an MrpProject

 

Returns

TRUE if project is empty, otherwise FALSE


mrp_project_needs_saving ()

gboolean
mrp_project_needs_saving (MrpProject *project);

Checks if project needs saving

Parameters

project

an MrpProject

 

Returns

TRUE if project has been altered since last save, otherwise FALSE


mrp_project_get_project_start ()

mrptime
mrp_project_get_project_start (MrpProject *project);

Fetches the project start from project .

Parameters

project

an MrpProject

 

Returns

the project start


mrp_project_set_project_start ()

void
mrp_project_set_project_start (MrpProject *project,
                               mrptime start);

Set the project start.

Parameters

project

an MrpProject

 

start

project start time

 

mrp_project_load ()

gboolean
mrp_project_load (MrpProject *project,
                  const gchar *uri,
                  GError **error);

Loads a project stored at uri into project .

Parameters

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.


mrp_project_save ()

gboolean
mrp_project_save (MrpProject *project,
                  gboolean force,
                  GError **error);

Saves a project.

Parameters

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


mrp_project_save_to_xml ()

gboolean
mrp_project_save_to_xml (MrpProject *project,
                         gchar **str,
                         GError **error);

Saves a project as XML to a string buffer.

Parameters

project

an MrpProject

 

str

location to store XML string

 

error

location to store error, or NULL

 

Returns

TRUE on success, otherwise FALSE


mrp_project_load_from_xml ()

gboolean
mrp_project_load_from_xml (MrpProject *project,
                           const gchar *str,
                           GError **error);

Loads a project from XML data into project .

Parameters

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.


mrp_project_save_as ()

gboolean
mrp_project_save_as (MrpProject *project,
                     const gchar *uri,
                     gboolean force,
                     GError **error);

Saves a project to a specific URI.

Parameters

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


mrp_project_close ()

void
mrp_project_close (MrpProject *project);

Closes a project.

Parameters

project

an MrpProject

 

mrp_project_get_uri ()

const gchar *
mrp_project_get_uri (MrpProject *project);

Fetches the URI from project .

Parameters

project

an MrpProject

 

Returns

the URI of project


mrp_project_get_resource_by_name ()

MrpResource *
mrp_project_get_resource_by_name (MrpProject *project,
                                  const gchar *name);

Retrieves the first resource in the list that match the name.

Parameters

project

an MrpProject

 

name

name to search for

 

Returns

an MrpResource or NULL if not found


mrp_project_get_resources ()

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.

Parameters

project

an MrpProject

 

Returns

the resource list of project


mrp_project_add_resource ()

void
mrp_project_add_resource (MrpProject *project,
                          MrpResource *resource);

Adds resource to the list of resources in project .

Parameters

project

an MrpProject

 

resource

MrpResource to add

 

mrp_project_remove_resource ()

void
mrp_project_remove_resource (MrpProject *project,
                             MrpResource *resource);

Removes resource from project .

Parameters

project

an MrpProject

 

resource

MrpResource to remove

 

mrp_project_get_group_by_name ()

MrpGroup *
mrp_project_get_group_by_name (MrpProject *project,
                               const gchar *name);

Retrieves the first group with name that matches name

Parameters

project

an MrpProject

 

name

a name to look for

 

Returns

an MrpGroup or NULL if not found


mrp_project_get_groups ()

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.

Parameters

project

an MrpProject

 

Returns

the group list of project


mrp_project_add_group ()

void
mrp_project_add_group (MrpProject *project,
                       MrpGroup *group);

Adds group to the list of groups in project .

Parameters

project

an MrpProject

 

group

MrpGroup to remove

 

mrp_project_remove_group ()

void
mrp_project_remove_group (MrpProject *project,
                          MrpGroup *group);

Removes group from project .

Parameters

project

an MrpProject

 

group

MrpGroup to remove

 

mrp_project_get_task_by_name ()

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.

Parameters

project

an MrpProject

 

name

the name to look for

 

Returns

an MrpTask or NULL if not found.


mrp_project_get_all_tasks ()

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.

Parameters

project

an MrpProject

 

Returns

a newly allocated list of the tasks


mrp_project_insert_task ()

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.

Parameters

project

an MrpProject

 

parent

MrpTask that will be parent to inserted task

 

position

position among children to insert task

 

task

MrpTask to insert

 

mrp_project_remove_task ()

void
mrp_project_remove_task (MrpProject *project,
                         MrpTask *task);

Removes task from the task tree in project .

Parameters

project

an MrpProject

 

task

MrpTask to remove

 

mrp_project_move_task ()

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 .

Parameters

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


mrp_project_get_root_task ()

MrpTask *
mrp_project_get_root_task (MrpProject *project);

Fetches the root task from project .

Parameters

project

an MrpProject

 

Returns

the root task


mrp_project_task_traverse ()

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.

Parameters

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

 

mrp_project_reschedule ()

void
mrp_project_reschedule (MrpProject *project);

Reschedules the project, calculating task start/end/duration etc.

Parameters

project

an MrpProject

 

mrp_project_calculate_task_work ()

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.

Parameters

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.


mrp_project_get_properties_from_type ()

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.

Parameters

project

an MrpProject

 

object_type

a GType

 

Returns

The list of properties.


mrp_project_add_property ()

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.

Parameters

project

an MrpProject

 

object_type

the owner type

 

property

an MrpProperty

 

user_defined

whether the property is defined through a user interface

 

mrp_project_remove_property ()

void
mrp_project_remove_property (MrpProject *project,
                             GType object_type,
                             const gchar *name);

Removes the property corresponding to object_type and name from project .

Parameters

project

an MrpProject

 

object_type

a GType specifing object type to remove property from

 

name

the name of the property

 

mrp_project_get_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.

Parameters

project

an MrpProject

 

name

the name of the property

 

object_type

object type the property belongs to

 

Returns

An MrpProperty, if found, otherwise NULL.


mrp_project_has_property ()

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 .

Parameters

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


mrp_project_get_root_calendar ()

MrpCalendar *
mrp_project_get_root_calendar (MrpProject *project);

Fetches the root calendar of project .

Parameters

project

an MrpProject

 

Returns

the root calendar of project


mrp_project_get_calendar ()

MrpCalendar *
mrp_project_get_calendar (MrpProject *project);

Fetches the calendar used by project .

Parameters

project

an MrpProject

 

Returns

the calendar used by project

Types and Values

MrpProjectPriv

typedef struct _MrpProjectPriv MrpProjectPriv;

A private struct for internal use only. The definition of this structure is not publically available.


struct MrpProject

struct MrpProject;

Object representing a project.

Property Details

The “calendar” property

  “calendar”                 MrpCalendar *

The calendar used in the project.

Flags: Read / Write


The “default-group” property

  “default-group”            MrpGroup *

Default group for new resources.

Flags: Read / Write


The “manager” property

  “manager”                  gchar *

The manager of the project.

Flags: Read / Write

Default value: ""


The “name” property

  “name”                     gchar *

The name of the project.

Flags: Read / Write

Default value: ""


The “organization” property

  “organization”             gchar *

The organization behind the project.

Flags: Read / Write

Default value: ""


The “phase” property

  “phase”                    gchar *

The phase the project is in.

Flags: Read / Write

Default value: ""


The “phases” property

  “phases”                   gpointer

The various phases the project can be in.

Flags: Read / Write


The “project-start” property

  “project-start”            glong

The start date of the project.

Flags: Read / Write

Allowed values: [0,2147483647]

Default value: 0

Signal Details

The “calendar-tree-changed” signal

void
user_function (MrpProject  *mrpproject,
               MrpCalendar *arg1,
               gpointer     user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “day-added” signal

void
user_function (MrpProject *mrpproject,
               gpointer    arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “day-changed” signal

void
user_function (MrpProject *mrpproject,
               gpointer    arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “day-removed” signal

void
user_function (MrpProject *mrpproject,
               gpointer    arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “default-group-changed” signal

void
user_function (MrpProject *mrpproject,
               MrpGroup   *arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “group-added” signal

void
user_function (MrpProject *mrpproject,
               MrpGroup   *arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “group-removed” signal

void
user_function (MrpProject *mrpproject,
               MrpGroup   *arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “loaded” signal

void
user_function (MrpProject *mrpproject,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “needs-saving-changed” signal

void
user_function (MrpProject *mrpproject,
               gboolean    arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “property-added” signal

void
user_function (MrpProject *mrpproject,
               glong       arg1,
               gpointer    arg2,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “property-changed” signal

void
user_function (MrpProject *mrpproject,
               gpointer    arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “property-removed” signal

void
user_function (MrpProject *mrpproject,
               gpointer    arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “resource-added” signal

void
user_function (MrpProject  *mrpproject,
               MrpResource *arg1,
               gpointer     user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “resource-removed” signal

void
user_function (MrpProject  *mrpproject,
               MrpResource *arg1,
               gpointer     user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “task-inserted” signal

void
user_function (MrpProject *mrpproject,
               MrpTask    *arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “task-moved” signal

void
user_function (MrpProject *mrpproject,
               MrpTask    *arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “task-removed” signal

void
user_function (MrpProject *mrpproject,
               MrpTask    *arg1,
               gpointer    user_data)

Parameters

mrpproject

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last