Anjuta project

Anjuta project — Anjuta project

Stability Level

Unstable, unless otherwise indicated

Functions

AnjutaProjectProperty * anjuta_project_property_new ()
AnjutaProjectProperty * anjuta_project_property_copy ()
void anjuta_project_property_free ()
AnjutaProjectPropertyInfo * anjuta_project_property_info_new ()
AnjutaProjectPropertyInfo * anjuta_project_property_info_copy ()
void anjuta_project_property_info_free ()
gboolean (*AnjutaProjectNodeTraverseFunc) ()
void (*AnjutaProjectNodeForeachFunc) ()
AnjutaProjectNode * anjuta_project_node_root ()
AnjutaProjectNode * anjuta_project_node_parent ()
AnjutaProjectNode * anjuta_project_node_first_child ()
AnjutaProjectNode * anjuta_project_node_last_child ()
AnjutaProjectNode * anjuta_project_node_next_sibling ()
AnjutaProjectNode * anjuta_project_node_prev_sibling ()
AnjutaProjectNode * anjuta_project_node_nth_child ()
AnjutaProjectNode * anjuta_project_node_parent_type ()
void anjuta_project_node_foreach ()
void anjuta_project_node_children_foreach ()
AnjutaProjectNode * anjuta_project_node_traverse ()
AnjutaProjectNode * anjuta_project_node_children_traverse ()
void anjuta_project_node_check ()
void anjuta_project_node_dump ()
AnjutaProjectNode * anjuta_project_node_insert_before ()
AnjutaProjectNode * anjuta_project_node_insert_after ()
AnjutaProjectNode * anjuta_project_node_remove ()
AnjutaProjectNode * anjuta_project_node_append ()
AnjutaProjectNode * anjuta_project_node_prepend ()
AnjutaProjectNodeType anjuta_project_node_get_node_type ()
AnjutaProjectNodeType anjuta_project_node_get_full_type ()
AnjutaProjectNodeState anjuta_project_node_get_state ()
const gchar * anjuta_project_node_get_name ()
GFile * anjuta_project_node_get_file ()
GList * anjuta_project_node_get_properties_info ()
GList * anjuta_project_node_get_properties ()
AnjutaProjectPropertyInfo * anjuta_project_node_get_property_info ()
AnjutaProjectProperty * anjuta_project_node_get_property ()
AnjutaProjectProperty * anjuta_project_node_get_map_property ()
AnjutaProjectPropertyInfo * anjuta_project_node_insert_property_info ()
AnjutaProjectProperty * anjuta_project_node_insert_property ()
AnjutaProjectProperty * anjuta_project_node_remove_property ()
gboolean anjuta_project_node_set_state ()
gboolean anjuta_project_node_clear_state ()
AnjutaProjectNode * anjuta_project_node_get_group_from_file ()
AnjutaProjectNode * anjuta_project_target_get_node_from_name ()
AnjutaProjectNode * anjuta_project_node_get_source_from_file ()
AnjutaProjectNodeInfo * anjuta_project_node_info_new ()
AnjutaProjectNodeInfo * anjuta_project_node_info_copy ()
void anjuta_project_node_info_free ()
const gchar * anjuta_project_node_info_name ()
const gchar * anjuta_project_node_info_mime ()
AnjutaProjectNodeType anjuta_project_node_info_type ()
const gchar * anjuta_project_node_info_property_help_id ()

Properties

GFile * file Read / Write
gchar * name Read / Write
AnjutaProjectNodeState state Read / Write
AnjutaProjectNodeType type Read / Write

Signals

void loaded Run Last
void updated Run Last

Object Hierarchy

    GBoxed
    ├── AnjutaProjectNodeInfo
    ├── AnjutaProjectProperty
    ╰── AnjutaProjectPropertyInfo
    GObject
    ╰── GInitiallyUnowned
        ╰── AnjutaProjectNode

Includes

#include <libanjuta/anjuta-project.h>

Description

A project in Anjuta is represented by a tree. There are six kinds of node.

The root node is the parent of all other nodes, it can implement IAnjutaProject interface and represent the project itself but it is not mandatory.

A module node represents a module in autotools project, it is a group of packages.

A package node represents a package in autotools project, it is library.

A group node is used to group several target or source, it can represent a directory by example.

A target node represents an object file defined explicitely. There are different kinds of target: program, library... A target have as children all source needed to build it.

A source node represents a source file. These are lead of the tree, a source node cannot have children.

All these nodes are base objects. They have derived in each project backend to provide more specific information.

Functions

anjuta_project_property_new ()

AnjutaProjectProperty *
anjuta_project_property_new (const gchar *value,
                             const gchar *name,
                             gpointer user_data);

Parameters

value

Value.

[transfer none]

name

Optional name used by map properties.

[allow-none][transfer none]

user_data

Optional user data.

[allow-none][transfer full]

Returns

.

[transfer full]


anjuta_project_property_copy ()

AnjutaProjectProperty *
anjuta_project_property_copy (AnjutaProjectProperty *prop);

Returns


anjuta_project_property_free ()

void
anjuta_project_property_free (AnjutaProjectProperty *prop);


anjuta_project_property_info_new ()

AnjutaProjectPropertyInfo *
anjuta_project_property_info_new (const gchar *id,
                                  const gchar *name,
                                  AnjutaProjectValueType type,
                                  AnjutaProjectPropertyFlags flags,
                                  const gchar *description,
                                  AnjutaProjectProperty *default_value,
                                  gpointer user_data);

Parameters

id

Property identifier.

[transfer none]

name

Translatable property name.

[transfer none]

type

Property value type

 

flags

Property flags

 

description

Property description.

[transfer none]

default_value

Default property value.

[transfer full]

user_data

Optional user data.

[allow-none][transfer full]

Returns

.

[transfer full]


anjuta_project_property_info_copy ()

AnjutaProjectPropertyInfo *
anjuta_project_property_info_copy (AnjutaProjectPropertyInfo *info);

Returns


anjuta_project_property_info_free ()

void
anjuta_project_property_info_free (AnjutaProjectPropertyInfo *info);


AnjutaProjectNodeTraverseFunc ()

gboolean
(*AnjutaProjectNodeTraverseFunc) (AnjutaProjectNode *node,
                                  gpointer data);

Returns


AnjutaProjectNodeForeachFunc ()

void
(*AnjutaProjectNodeForeachFunc) (AnjutaProjectNode *node,
                                 gpointer data);

Parameters

data

.

[closure]

anjuta_project_node_root ()

AnjutaProjectNode *
anjuta_project_node_root (AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_parent ()

AnjutaProjectNode *
anjuta_project_node_parent (AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_first_child ()

AnjutaProjectNode *
anjuta_project_node_first_child (AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_last_child ()

AnjutaProjectNode *
anjuta_project_node_last_child (AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_next_sibling ()

AnjutaProjectNode *
anjuta_project_node_next_sibling (AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_prev_sibling ()

AnjutaProjectNode *
anjuta_project_node_prev_sibling (AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_nth_child ()

AnjutaProjectNode *
anjuta_project_node_nth_child (AnjutaProjectNode *node,
                               guint n);

Returns

.

[transfer none]


anjuta_project_node_parent_type ()

AnjutaProjectNode *
anjuta_project_node_parent_type (AnjutaProjectNode *node,
                                 AnjutaProjectNodeType type);

Returns

.

[transfer none]


anjuta_project_node_foreach ()

void
anjuta_project_node_foreach (AnjutaProjectNode *node,
                             GTraverseType order,
                             AnjutaProjectNodeForeachFunc func,
                             gpointer data);

Parameters

func

.

[scope call]

anjuta_project_node_children_foreach ()

void
anjuta_project_node_children_foreach (AnjutaProjectNode *node,
                                      AnjutaProjectNodeForeachFunc func,
                                      gpointer data);

Parameters

func

.

[scope call]

anjuta_project_node_traverse ()

AnjutaProjectNode *
anjuta_project_node_traverse (AnjutaProjectNode *node,
                              GTraverseType order,
                              AnjutaProjectNodeTraverseFunc func,
                              gpointer data);

Parameters

func

.

[scope call]

Returns

.

[transfer none]


anjuta_project_node_children_traverse ()

AnjutaProjectNode *
anjuta_project_node_children_traverse (AnjutaProjectNode *node,
                                       AnjutaProjectNodeTraverseFunc func,
                                       gpointer data);

Parameters

func

.

[scope call]

Returns

.

[transfer none]


anjuta_project_node_check ()

void
anjuta_project_node_check (AnjutaProjectNode *parent);


anjuta_project_node_dump ()

void
anjuta_project_node_dump (AnjutaProjectNode *parent);


anjuta_project_node_insert_before ()

AnjutaProjectNode *
anjuta_project_node_insert_before (AnjutaProjectNode *parent,
                                   AnjutaProjectNode *sibling,
                                   AnjutaProjectNode *node);

Parameters

sibling

.

[allow-none][transfer none]

node

.

[transfer none]

Returns

.

[transfer none]


anjuta_project_node_insert_after ()

AnjutaProjectNode *
anjuta_project_node_insert_after (AnjutaProjectNode *parent,
                                  AnjutaProjectNode *sibling,
                                  AnjutaProjectNode *node);

Parameters

sibling

.

[allow-none][transfer none]

node

.

[transfer none]

Returns

.

[transfer none]


anjuta_project_node_remove ()

AnjutaProjectNode *
anjuta_project_node_remove (AnjutaProjectNode *node);

Parameters

node

.

[transfer none]

Returns

.

[transfer full]


anjuta_project_node_append ()

AnjutaProjectNode *
anjuta_project_node_append (AnjutaProjectNode *parent,
                            AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_prepend ()

AnjutaProjectNode *
anjuta_project_node_prepend (AnjutaProjectNode *parent,
                             AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_get_node_type ()

AnjutaProjectNodeType
anjuta_project_node_get_node_type (const AnjutaProjectNode *node);

Returns


anjuta_project_node_get_full_type ()

AnjutaProjectNodeType
anjuta_project_node_get_full_type (const AnjutaProjectNode *node);

Returns


anjuta_project_node_get_state ()

AnjutaProjectNodeState
anjuta_project_node_get_state (const AnjutaProjectNode *node);

Returns


anjuta_project_node_get_name ()

const gchar *
anjuta_project_node_get_name (const AnjutaProjectNode *node);

Returns


anjuta_project_node_get_file ()

GFile *
anjuta_project_node_get_file (const AnjutaProjectNode *node);

Returns

.

[transfer none]


anjuta_project_node_get_properties_info ()

GList *
anjuta_project_node_get_properties_info
                               (AnjutaProjectNode *node);

Returns

.

[transfer none][element-type Anjuta.ProjectPropertyInfo]


anjuta_project_node_get_properties ()

GList *
anjuta_project_node_get_properties (AnjutaProjectNode *node);

Returns

.

[transfer none][element-type Anjuta.ProjectProperty]


anjuta_project_node_get_property_info ()

AnjutaProjectPropertyInfo *
anjuta_project_node_get_property_info (AnjutaProjectNode *node,
                                       const gchar *id);

Parameters

node

.

[transfer none]

id

Property identifier.

[transfer none]

Returns

.

[transfer none]


anjuta_project_node_get_property ()

AnjutaProjectProperty *
anjuta_project_node_get_property (AnjutaProjectNode *node,
                                  const gchar *id);

Parameters

node

.

[transfer none]

id

Property identifier.

[transfer none]

Returns

.

[transfer none]


anjuta_project_node_get_map_property ()

AnjutaProjectProperty *
anjuta_project_node_get_map_property (AnjutaProjectNode *node,
                                      const gchar *id,
                                      const gchar *name);

Returns


anjuta_project_node_insert_property_info ()

AnjutaProjectPropertyInfo *
anjuta_project_node_insert_property_info
                               (AnjutaProjectNode *node,
                                AnjutaProjectPropertyInfo *info);

Parameters

node

.

[transfer none]

info

.

[transfer none]

Returns

.

[transfer none]


anjuta_project_node_insert_property ()

AnjutaProjectProperty *
anjuta_project_node_insert_property (AnjutaProjectNode *node,
                                     AnjutaProjectPropertyInfo *info,
                                     AnjutaProjectProperty *property);

Parameters

node

.

[transfer none]

info

.

[transfer none]

property

.

[transfer full]

Returns

.

[transfer none]


anjuta_project_node_remove_property ()

AnjutaProjectProperty *
anjuta_project_node_remove_property (AnjutaProjectNode *node,
                                     AnjutaProjectProperty *property);

Returns


anjuta_project_node_set_state ()

gboolean
anjuta_project_node_set_state (AnjutaProjectNode *node,
                               AnjutaProjectNodeState state);

Returns


anjuta_project_node_clear_state ()

gboolean
anjuta_project_node_clear_state (AnjutaProjectNode *node,
                                 AnjutaProjectNodeState state);

Returns


anjuta_project_node_get_group_from_file ()

AnjutaProjectNode *
anjuta_project_node_get_group_from_file
                               (const AnjutaProjectNode *root,
                                GFile *directory);

Parameters

root

the root node

 

directory

Directory to search in

 

Returns

.

[transfer none]


anjuta_project_target_get_node_from_name ()

AnjutaProjectNode *
anjuta_project_target_get_node_from_name
                               (const AnjutaProjectNode *parent,
                                const gchar *name);

Returns


anjuta_project_node_get_source_from_file ()

AnjutaProjectNode *
anjuta_project_node_get_source_from_file
                               (const AnjutaProjectNode *parent,
                                GFile *file);

Parameters

parent

the parent node

 

file

The file to query the source for

 

Returns

.

[transfer none]


anjuta_project_node_info_new ()

AnjutaProjectNodeInfo *
anjuta_project_node_info_new (AnjutaProjectNodeType type,
                              const gchar *name,
                              const gchar *mime_type);

Parameters

name

.

[transfer none]

mime_type

.

[transfer none]

Returns

.

[transfer full]


anjuta_project_node_info_copy ()

AnjutaProjectNodeInfo *
anjuta_project_node_info_copy (AnjutaProjectNodeInfo *info);

Returns


anjuta_project_node_info_free ()

void
anjuta_project_node_info_free (AnjutaProjectNodeInfo *info);


anjuta_project_node_info_name ()

const gchar *
anjuta_project_node_info_name (const AnjutaProjectNodeInfo *info);

Returns


anjuta_project_node_info_mime ()

const gchar *
anjuta_project_node_info_mime (const AnjutaProjectNodeInfo *info);

Returns


anjuta_project_node_info_type ()

AnjutaProjectNodeType
anjuta_project_node_info_type (const AnjutaProjectNodeInfo *info);

Returns


anjuta_project_node_info_property_help_id ()

const gchar *
anjuta_project_node_info_property_help_id
                               (const AnjutaProjectNodeInfo *info);

Returns

Types and Values

enum AnjutaProjectValueType

Members

ANJUTA_PROJECT_PROPERTY_STRING

   

ANJUTA_PROJECT_PROPERTY_LIST

   

ANJUTA_PROJECT_PROPERTY_BOOLEAN

   

ANJUTA_PROJECT_PROPERTY_MAP

   

enum AnjutaProjectPropertyFlags

Members

ANJUTA_PROJECT_PROPERTY_READ_ONLY

   

ANJUTA_PROJECT_PROPERTY_READ_WRITE

   

ANJUTA_PROJECT_PROPERTY_HIDDEN

   

ANJUTA_PROJECT_PROPERTY_STATIC

   

enum AnjutaProjectNodeType

Members

ANJUTA_PROJECT_UNKNOWN

   

ANJUTA_PROJECT_SHAREDLIB

   

ANJUTA_PROJECT_STATICLIB

   

ANJUTA_PROJECT_PROGRAM

   

ANJUTA_PROJECT_PYTHON

   

ANJUTA_PROJECT_JAVA

   

ANJUTA_PROJECT_LISP

   

ANJUTA_PROJECT_HEADER

   

ANJUTA_PROJECT_MAN

   

ANJUTA_PROJECT_INFO

   

ANJUTA_PROJECT_GENERIC

   

ANJUTA_PROJECT_DATA

   

ANJUTA_PROJECT_EXTRA

   

ANJUTA_PROJECT_INTLTOOL

   

ANJUTA_PROJECT_CONFIGURE

   

ANJUTA_PROJECT_IDL

   

ANJUTA_PROJECT_MKENUMS

   

ANJUTA_PROJECT_GENMARSHAL

   

ANJUTA_PROJECT_SCRIPT

   

ANJUTA_PROJECT_ROOT_GROUP

   

ANJUTA_PROJECT_LT_MODULE

   

ANJUTA_PROJECT_PROXY

   

ANJUTA_PROJECT_PROJECT

   

ANJUTA_PROJECT_PRIMARY

   

ANJUTA_PROJECT_EXECUTABLE

   

ANJUTA_PROJECT_READ_ONLY

   

ANJUTA_PROJECT_FRAME

   

ANJUTA_PROJECT_ID_MASK

   

ANJUTA_PROJECT_FLAG_MASK

   

ANJUTA_PROJECT_TYPE_MASK

   

ANJUTA_PROJECT_ROOT

   

ANJUTA_PROJECT_GROUP

   

ANJUTA_PROJECT_TARGET

   

ANJUTA_PROJECT_SOURCE

   

ANJUTA_PROJECT_MODULE

   

ANJUTA_PROJECT_PACKAGE

   

ANJUTA_PROJECT_VARIABLE

   

ANJUTA_PROJECT_OBJECT

   

enum AnjutaProjectNodeState

Members

ANJUTA_PROJECT_OK

   

ANJUTA_PROJECT_MODIFIED

   

ANJUTA_PROJECT_INCOMPLETE

   

ANJUTA_PROJECT_LOADING

   

ANJUTA_PROJECT_REMOVED

   

ANJUTA_PROJECT_CAN_ADD_GROUP

   

ANJUTA_PROJECT_CAN_ADD_TARGET

   

ANJUTA_PROJECT_CAN_ADD_SOURCE

   

ANJUTA_PROJECT_CAN_ADD_MODULE

   

ANJUTA_PROJECT_CAN_ADD_PACKAGE

   

ANJUTA_PROJECT_CAN_REMOVE

   

ANJUTA_PROJECT_CAN_SAVE

   

ANJUTA_PROJECT_REMOVE_FILE

   

struct AnjutaProjectNode

struct AnjutaProjectNode;

The AnjutaProjectNode struct contains private data only, and should accessed using the functions below.

Property Details

The “file” property

  “file”                     GFile *

The GFile for the node.

Flags: Read / Write


The “name” property

  “name”                     gchar *

Node name.

Flags: Read / Write

Default value: ""


The “state” property

  “state”                    AnjutaProjectNodeState

Node state.

Flags: Read / Write


The “type” property

  “type”                     AnjutaProjectNodeType

Node type.

Flags: Read / Write

Signal Details

The “loaded” signal

void
user_function (AnjutaProjectNode *anjutaprojectnode,
               gpointer           arg1,
               GError            *arg2,
               gpointer           user_data)

Parameters

anjutaprojectnode

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last


The “updated” signal

void
user_function (AnjutaProjectNode *anjutaprojectnode,
               gpointer           arg1,
               GError            *arg2,
               gpointer           user_data)

Parameters

anjutaprojectnode

the object which received the signal.

 

user_data

user data set when the signal handler was connected.

 

Flags: Run Last