|  |  |  | Anjuta Developers Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
#include <libanjuta/interfaces/ianjuta-project-manager.h> #define IANJUTA_PROJECT_MANAGER_ERROR #define IANJUTA_PROJECT_MANAGER_PROJECT_ROOT_URI #define IANJUTA_PROJECT_MANAGER_CURRENT_PROJECT #define IANJUTA_PROJECT_MANAGER_CURRENT_URI struct IAnjutaProjectManagerIface; GQuark ianjuta_project_manager_error_quark (void); GFile * ianjuta_project_manager_add_group (IAnjutaProjectManager *obj,const gchar *name,GFile *default_group,GError **err); GFile * ianjuta_project_manager_add_source (IAnjutaProjectManager *obj,const gchar *name,GFile *default_target,GError **err); GFile * ianjuta_project_manager_add_source_quiet (IAnjutaProjectManager *obj,const gchar *name,GFile *target,GError **err); GList * ianjuta_project_manager_add_sources (IAnjutaProjectManager *obj,GList *names,GFile *default_target,GError **err); GFile * ianjuta_project_manager_add_target (IAnjutaProjectManager *obj,const gchar *name,GFile *default_group,GError **err); guint ianjuta_project_manager_get_capabilities (IAnjutaProjectManager *obj,GError **err); GList * ianjuta_project_manager_get_children (IAnjutaProjectManager *obj,GFile *element,GError **err); IAnjutaProject * ianjuta_project_manager_get_current_project (IAnjutaProjectManager *obj,GError **err); GList * ianjuta_project_manager_get_elements (IAnjutaProjectManager *obj,AnjutaProjectNodeType element_type,GError **err); GList * ianjuta_project_manager_get_packages (IAnjutaProjectManager *obj,GError **err); GFile * ianjuta_project_manager_get_parent (IAnjutaProjectManager *obj,GFile *element,GError **err); GFile * ianjuta_project_manager_get_selected (IAnjutaProjectManager *obj,GError **err); AnjutaProjectNodeType ianjuta_project_manager_get_target_type (IAnjutaProjectManager *obj,GFile *target,GError **err); GList * ianjuta_project_manager_get_targets (IAnjutaProjectManager *obj,AnjutaProjectNodeType target_type,GError **err); gboolean ianjuta_project_manager_is_open (IAnjutaProjectManager *obj,GError **err);
#define IANJUTA_PROJECT_MANAGER_ERROR ianjuta_project_manager_error_quark()
#define IANJUTA_PROJECT_MANAGER_PROJECT_ROOT_URI "project_root_uri"
Anjuta shell value set by project manager to the project root uri.
#define IANJUTA_PROJECT_MANAGER_CURRENT_PROJECT "project_manager_current_project"
Anjuta shell value set by project manager to the current project object which implement IAnjutaProject interface.
#define IANJUTA_PROJECT_MANAGER_CURRENT_URI "project_manager_current_uri"
Anjuta shell value set by project manager to the current uri.
struct IAnjutaProjectManagerIface {
	GTypeInterface g_iface;
	
	/* Signal */
	void (*element_added) (IAnjutaProjectManager *obj, GFile *element);
	/* Signal */
	void (*element_removed) (IAnjutaProjectManager *obj, GFile *element);
	/* Signal */
	void (*element_selected) (IAnjutaProjectManager *obj, GFile *element);
	/* Signal */
	void (*project_loaded) (IAnjutaProjectManager *obj, GError *error);
	GFile* (*add_group) (IAnjutaProjectManager *obj, const gchar *name,  GFile *default_group, GError **err);
	GFile* (*add_source) (IAnjutaProjectManager *obj, const gchar *name,  GFile *default_target, GError **err);
	GFile* (*add_source_quiet) (IAnjutaProjectManager *obj, const gchar *name,  GFile *target, GError **err);
	GList* (*add_sources) (IAnjutaProjectManager *obj, GList* names,  GFile *default_target, GError **err);
	GFile* (*add_target) (IAnjutaProjectManager *obj, const gchar *name,  GFile *default_group, GError **err);
	guint (*get_capabilities) (IAnjutaProjectManager *obj, GError **err);
	GList* (*get_children) (IAnjutaProjectManager *obj, GFile *element, GError **err);
	IAnjutaProject* (*get_current_project) (IAnjutaProjectManager *obj, GError **err);
	GList* (*get_elements) (IAnjutaProjectManager *obj, AnjutaProjectNodeType element_type, GError **err);
	GList* (*get_packages) (IAnjutaProjectManager *obj, GError **err);
	GFile* (*get_parent) (IAnjutaProjectManager *obj, GFile *element, GError **err);
	GFile* (*get_selected) (IAnjutaProjectManager *obj, GError **err);
	AnjutaProjectNodeType (*get_target_type) (IAnjutaProjectManager *obj, GFile *target, GError **err);
	GList* (*get_targets) (IAnjutaProjectManager *obj, AnjutaProjectNodeType target_type, GError **err);
	gboolean (*is_open) (IAnjutaProjectManager *obj, GError **err);
};
GFile * ianjuta_project_manager_add_group (IAnjutaProjectManager *obj,const gchar *name,GFile *default_group,GError **err);
Prompts the user to add a new group to the project. The user can select a parent group different from the one set as default.
| 
 | Self. | 
| 
 | Group name or URI. | 
| 
 | A GFile corresponding to the default parent group or NULLif don't care. [allow-none] | 
| 
 | Error propagation and reporting. | 
| Returns : | A GFile corresponding to the new group added in the project.
You own the returned file; use g_object_unref()to release it. [transfer full] | 
GFile * ianjuta_project_manager_add_source (IAnjutaProjectManager *obj,const gchar *name,GFile *default_target,GError **err);
Prompts the user to add a file to the project. If the user selects multiple files only the first source file is returned.
You can add non existing file. In this case the element_added signal will be emitted with a non existing file. So it is up to the caller to reemit this signal later when the file is created.
| 
 | Self. | 
| 
 | Source name or URI. | 
| 
 | A GFile corresponding to the default target or group or NULLif you don't care. [allow-none] | 
| 
 | Error propagation and reporting. | 
| Returns : | A GFile corresponding to the new source file in the
project view. You own the returned file; use g_object_unref()to release it. [transfer full] | 
GFile * ianjuta_project_manager_add_source_quiet (IAnjutaProjectManager *obj,const gchar *name,GFile *target,GError **err);
Adds a file to the project without prompting the user.
You can add non existing file. In this case the element_added signal will be emitted with a non existing file. So it is up to the caller to reemit this signal later when the file is created.
| 
 | Self. | 
| 
 | Source name or URI. | 
| 
 | A GFile corresponding to the parent target or group. | 
| 
 | Error propagation and reporting. | 
| Returns : | A GFile corresponding to the new source file in the project
view. You own the returned file; use g_object_unref()to release it. [transfer full] | 
GList * ianjuta_project_manager_add_sources (IAnjutaProjectManager *obj,GList *names,GFile *default_target,GError **err);
Prompts the user to add several files to the project. Depending on the project backend, it can be possible that the source files must be located in a particular directory.
You can add non existing file. In this case the element_added signal will be emitted with a non existing file. So it is up to the caller to reemit this signal later when the file is created.
| 
 | Self. | 
| 
 | Sources name or URI to add. [element-type utf8] | 
| 
 | A GFile corresponding to the default target or group or NULLif don't care. [allow-none] | 
| 
 | Error propagation and reporting. | 
| Returns : | A list of GFile corresponding to all
new source files added in the project. You own the list with the the returned files;
use g_list_free()andg_object_unref()on each file to release them. [element-type GFile][transfer full] | 
GFile * ianjuta_project_manager_add_target (IAnjutaProjectManager *obj,const gchar *name,GFile *default_group,GError **err);
Prompts the user to add a new target to the project. The user can select a parent group different from the one set as default.
| 
 | Self | 
| 
 | Target name or URI. | 
| 
 | A GFile corresponding to the default parent group or NULLif don't care. [allow-none] | 
| 
 | Error propagation and reporting. | 
| Returns : | A GFile corresponding to the new target added in the project.
You own the returned file; use g_object_unref()to release it. [transfer full] | 
guint ianjuta_project_manager_get_capabilities (IAnjutaProjectManager *obj,GError **err);
Gets the capabilites of project whether it can add group, target sources etc.
| 
 | Self | 
| 
 | Error propagation and reporting. | 
| Returns : | Supported capabilites. | 
GList * ianjuta_project_manager_get_children (IAnjutaProjectManager *obj,GFile *element,GError **err);
Gets the list of all children of the corresponding parent.
| 
 | Self | 
| 
 | A GFile corresponding to a parent. | 
| 
 | Error propagation and reporting. | 
| Returns : | The list of GFile corresponding to
each child of the element or NULLif the element has no child. Free the returned
list withg_list_free()and the files withg_object_unref(). [element-type GFile][transfer full] | 
IAnjutaProject * ianjuta_project_manager_get_current_project (IAnjutaProjectManager *obj,GError **err);
Gets the current project.
| 
 | Self | 
| 
 | Error propagation and reporting. | 
| Returns : | the currently active project. NULL if none is there. [transfer none] | 
GList * ianjuta_project_manager_get_elements (IAnjutaProjectManager *obj,AnjutaProjectNodeType element_type,GError **err);
Get a list of all elements of this type in the project.
| 
 | Self | 
| 
 | Select one element type: source, group or target | 
| 
 | Error propagation and reporting. | 
| Returns : | Get list of GFile corresponding to
all valid elements or NULLif there are no elements of this type. Free the returned
list withg_list_free()and the files withg_object_unref(). [element-type GFile][transfer full] | 
GList * ianjuta_project_manager_get_packages (IAnjutaProjectManager *obj,GError **err);
| 
 | Self | 
| 
 | Error propagation and reporting. | 
| Returns : | the list of pkg-config packages that the current project requires in it's configure.ac. Can be NULL if there is no project opened currently or no package is required. [element-type utf8][transfer container] | 
GFile * ianjuta_project_manager_get_parent (IAnjutaProjectManager *obj,GFile *element,GError **err);
Gets the parent of the corresponding child.
| 
 | Self | 
| 
 | A GFile corresponding to one child. | 
| 
 | Error propagation and reporting. | 
| Returns : | The parent of the child, or NULLif the element is the root. | 
GFile * ianjuta_project_manager_get_selected (IAnjutaProjectManager *obj,GError **err);
Gets the currently selected element in the project manager view.
| 
 | Self | 
| 
 | Error propagation and reporting. | 
| Returns : | A GFile corresponding to the selected element in the project
view. You own the returned file; use g_object_unref()to release it. [transfer full] | 
AnjutaProjectNodeType ianjuta_project_manager_get_target_type (IAnjutaProjectManager *obj,GFile *target,GError **err);
Get the type of the corresponding target: program, library...
| 
 | Self | 
| 
 | A GFile corresponding to a target | 
| 
 | Error propagation and reporting. | 
| Returns : | Return the type of the target. | 
GList * ianjuta_project_manager_get_targets (IAnjutaProjectManager *obj,AnjutaProjectNodeType target_type,GError **err);
Get a list of targets in the project with the corresponding type.
| 
 | Self | 
| 
 | type of the target | 
| 
 | Error propagation and reporting. | 
| Returns : | A list of GFile corresponding to
each target of the requested type or NULLif none exists. Free the returned list
withg_list_free()and the files withg_object_unref(). [element-type GFile][transfer full] |