## IdeFrameAddin IdeFrameAddin — addins created for every IdeFrame |

## Functions

void | ide_frame_addin_load ()
void | ide_frame_addin_unload ()
void | ide_frame_addin_set_page ()
IdeFrameAddin * | ide_frame_addin_find_by_module_name ()

## Types and Values

#define | IDE_TYPE_FRAME_ADDIN
struct | IdeFrameAddinInterface
| IdeFrameAddin

## Object Hierarchy

        GInterface
        ╰── IdeFrameAddin

## Prerequisites

IdeFrameAddin requires GObject.

## Description

## Functions

### ide_frame_addin_load ()

    void
    ide_frame_addin_load (IdeFrameAddin *self,
                          IdeFrame *frame);

This function should be implemented by IdeFrameAddin plugins in IdeFrameAddinInterface.

This virtual method is called when the plugin should load itself. A new instance of the plugin is created for every IdeFrame that is created in Builder.

#### Parameters

self | An IdeFrameAddin |
frame | An IdeFrame |

Since: 3.32

### ide_frame_addin_unload ()

    void
    ide_frame_addin_unload (IdeFrameAddin *self,
                            IdeFrame *frame);

This function should be implemented by IdeFrameAddin plugins in IdeFrameAddinInterface.

This virtual method is called when the plugin should unload itself. It should revert anything performed via `ide_frame_addin_load()`.

#### Parameters

self | An IdeFrameAddin |
frame | An IdeFrame |

Since: 3.32

### ide_frame_addin_set_page ()

    void
    ide_frame_addin_set_page (IdeFrameAddin *self,
                              IdePage *page);

This virtual method is called whenever the active page changes in the IdePage. Plugins may want to alter what controls are displayed on the frame based on the current page.

#### Parameters

self | an IdeFrameAddin |
page | An IdePage or `NULL`. | [nullable]

Since: 3.32

### ide_frame_addin_find_by_module_name ()

    IdeFrameAddin *
    ide_frame_addin_find_by_module_name (IdeFrame *frame,
                                         const gchar *module_name);

This function will locate the IdeFrameAddin that was registered by the plugin named `module_name` (which should match the "Module" field provided in the .plugin file).

If no module was found or that module does not implement the IdeFrameAddinInterface, then `NULL` is returned.

#### Parameters

frame | An IdeFrame |
module_name | the module name which provides the addin |

#### Returns

An IdeFrameAddin or `NULL`.

[transfer none][nullable]

Since: 3.32

## Types and Values

### IDE_TYPE_FRAME_ADDIN

    #define IDE_TYPE_FRAME_ADDIN (ide_frame_addin_get_type())

### struct IdeFrameAddinInterface

    struct IdeFrameAddinInterface {
      GTypeInterface parent_iface;

      void (*load)     (IdeFrameAddin *self,
                        IdeFrame      *frame);
      void (*unload)   (IdeFrameAddin *self,
                        IdeFrame      *frame);
      void (*set_page) (IdeFrameAddin *self,
                        IdePage       *page);
    };

### IdeFrameAddin

    typedef struct _IdeFrameAddin IdeFrameAddin;