## LatexilaBuildTools LatexilaBuildTools — Build tools base class |

## Functions

void | latexila_build_tools_load ()
void | latexila_build_tools_set_enabled ()
LatexilaBuildTool * | latexila_build_tools_nth ()

## Signals

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

## Types and Values

| LatexilaBuildTools

## Object Hierarchy

        GObject
        ╰── LatexilaBuildTools
            ├── LatexilaBuildToolsDefault
            ╰── LatexilaBuildToolsPersonal

## Includes

    #include <latexila.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: LatexilaBuildToolsDefault and LatexilaBuildToolsPersonal. 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

### latexila_build_tools_load ()

    void
    latexila_build_tools_load (LatexilaBuildTools *build_tools,
                               GFile *xml_file);

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

#### Parameters

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

### latexila_build_tools_set_enabled ()

    void
    latexila_build_tools_set_enabled (LatexilaBuildTools *build_tools,
                                      guint tool_num,
                                      gboolean enabled);

#### Parameters

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

### latexila_build_tools_nth ()

    LatexilaBuildTool *
    latexila_build_tools_nth (LatexilaBuildTools *build_tools,
                              guint tool_num);

#### Parameters

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

#### Returns

the LatexilaBuildTool located at `tool_num` .

[transfer none]

## Types and Values

### LatexilaBuildTools

    typedef struct {
      GList *build_tools;
    } LatexilaBuildTools;

#### Members

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

## Signal Details

### The `“loaded”` signal

    void
    user_function (LatexilaBuildTools *build_tools,
                   gpointer            user_data)

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

#### Parameters

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

Flags: Run Last

### The `“modified”` signal

    void
    user_function (LatexilaBuildTools *build_tools,
                   gpointer            user_data)

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

#### Parameters

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

Flags: Run Last