## GtexBuildTools

GtexBuildTools — Build tools base class

## Functions

void | gtex_build_tools_load ()
void | gtex_build_tools_set_enabled ()
GtexBuildTool * | gtex_build_tools_nth ()

## Signals

void | loaded | Run Last
void | modified | Run Last

## Types and Values

struct | GtexBuildTools

## Object Hierarchy

        GObject
        ╰── GtexBuildTools
            ├── GtexBuildToolsDefault
            ╰── GtexBuildToolsPersonal

## Includes

    #include <gtex.h>

## Description

Base class for the build tools. The build tools are stored in an XML file. The XML file contents is loaded into data structures in memory. There are two subclasses: GtexBuildToolsDefault and GtexBuildToolsPersonal. The default build tools and personal build tools have a different behavior. A personal build tool can be modified for example, while a default build tool can only be enabled or disabled. That's why subclasses exist.

## Functions

### gtex_build_tools_load ()

    void
    gtex_build_tools_load (GtexBuildTools *build_tools,
                           GFile *xml_file);

Loads asynchronously the XML file contents and parses it. This function is used by subclasses of GtexBuildTools. When the file is fully loaded, the “loaded” signal is emitted.

#### Parameters

build_tools | a GtexBuildTools object. |
xml_file | the XML file. |

### gtex_build_tools_set_enabled ()

    void
    gtex_build_tools_set_enabled (GtexBuildTools *build_tools,
                                  guint tool_num,
                                  gboolean enabled);

#### Parameters

build_tools | a GtexBuildTools object. |
tool_num | the build tool position in the list. |
enabled | whether to enable the build tool. |

### gtex_build_tools_nth ()

    GtexBuildTool *
    gtex_build_tools_nth (GtexBuildTools *build_tools,
                          guint tool_num);

#### Parameters

build_tools | a GtexBuildTools object. |
tool_num | the build tool position in the list. |

#### Returns

the GtexBuildTool located at `tool_num` .

[transfer none]

## Types and Values

### struct GtexBuildTools

    struct GtexBuildTools {
    	GList *build_tools;
    };

#### Members

GList *`build_tools`; | a list of GtexBuildTool's. External code should just read the list, not modify it. | [element-type GtexBuildTool]

## Signal Details

### The `“loaded”` signal

    void
    user_function (GtexBuildTools *build_tools,
                   gpointer        user_data)

The ::loaded signal is emitted when the build tools are fully loaded.

#### Parameters

build_tools | a GtexBuildTools object. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“modified”` signal

    void
    user_function (GtexBuildTools *build_tools,
                   gpointer        user_data)

The ::modified signal is emitted when a build tool is modified.

#### Parameters

build_tools | a GtexBuildTools object. |
user_data | user data set when the signal handler was connected. |

Flags: Run Last