## PlumaNotebook PlumaNotebook |

## Functions

GtkWidget * | pluma_notebook_new ()
void | pluma_notebook_add_tab ()
void | pluma_notebook_remove_tab ()
void | pluma_notebook_remove_all_tabs ()
void | pluma_notebook_reorder_tab ()
void | pluma_notebook_move_tab ()
void | pluma_notebook_set_always_show_tabs ()
void | pluma_notebook_set_close_buttons_sensitive ()
gboolean | pluma_notebook_get_close_buttons_sensitive ()
void | pluma_notebook_set_tab_drag_and_drop_enabled ()
gboolean | pluma_notebook_get_tab_drag_and_drop_enabled ()

## Signals

void | tab-added | Run First
void | tab-close-request | Run Last
void | tab-detached | Run First
void | tab-removed | Run First
void | tabs-reordered | Run First

## Types and Values

| PlumaNotebookPrivate
struct | PlumaNotebook

## Object Hierarchy

        GObject
        ╰── GInitiallyUnowned
            ╰── GtkWidget
                ╰── GtkContainer
                    ╰── GtkNotebook
                        ╰── PlumaNotebook

## Implemented Interfaces

PlumaNotebook implements AtkImplementorIface and GtkBuildable.

## Description

## Functions

### pluma_notebook_new ()

    GtkWidget *
    pluma_notebook_new (void);

Creates a new PlumaNotebook object.

#### Returns

a new PlumaNotebook

### pluma_notebook_add_tab ()

    void
    pluma_notebook_add_tab (PlumaNotebook *nb,
                            PlumaTab *tab,
                            gint position,
                            gboolean jump_to);

Adds the specified `tab` to the `nb` .

#### Parameters

nb | a PlumaNotebook |
tab | a PlumaTab |
position | the position where the `tab` should be added |
jump_to | `TRUE` to set the `tab` as active |

### pluma_notebook_remove_tab ()

    void
    pluma_notebook_remove_tab (PlumaNotebook *nb,
                               PlumaTab *tab);

Removes `tab` from `nb` .

#### Parameters

nb | a PlumaNotebook |
tab | a PlumaTab |

### pluma_notebook_remove_all_tabs ()

    void
    pluma_notebook_remove_all_tabs (PlumaNotebook *nb);

Removes all PlumaTab from `nb` .

#### Parameters

nb | a PlumaNotebook |

### pluma_notebook_reorder_tab ()

    void
    pluma_notebook_reorder_tab (PlumaNotebook *src,
                                PlumaTab *tab,
                                gint dest_position);

Reorders the page containing `tab` , so that it appears in `dest_position` position. If dest_position is greater than or equal to the number of tabs of the destination notebook or negative, tab will be moved to the end of the tabs.

#### Parameters

src | a PlumaNotebook |
tab | a PlumaTab |
dest_position | the position for `tab` |

### pluma_notebook_move_tab ()

    void
    pluma_notebook_move_tab (PlumaNotebook *src,
                             PlumaNotebook *dest,
                             PlumaTab *tab,
                             gint dest_position);

Moves `tab` from `src` to `dest` . If dest_position is greater than or equal to the number of tabs of the destination nootebook or negative, tab will be moved to the end of the tabs.

#### Parameters

src | a PlumaNotebook |
dest | a PlumaNotebook |
tab | a PlumaTab |
dest_position | the position for `tab` |

### pluma_notebook_set_always_show_tabs ()

    void
    pluma_notebook_set_always_show_tabs (PlumaNotebook *nb,
                                         gboolean show_tabs);

Sets the visibility of the tabs in the `nb` .

#### Parameters

nb | a PlumaNotebook |
show_tabs | `TRUE` to always show the tabs |

### pluma_notebook_set_close_buttons_sensitive ()

    void
    pluma_notebook_set_close_buttons_sensitive
                                   (PlumaNotebook *nb,
                                    gboolean sensitive);

Sets whether the close buttons in the tabs of `nb` are sensitive.

#### Parameters

nb | a PlumaNotebook |
sensitive | `TRUE` to make the buttons sensitive |

### pluma_notebook_get_close_buttons_sensitive ()

    gboolean
    pluma_notebook_get_close_buttons_sensitive
                                   (PlumaNotebook *nb);

Whether the close buttons are sensitive.

#### Parameters

nb | a PlumaNotebook |

#### Returns

`TRUE` if the close buttons are sensitive

### pluma_notebook_set_tab_drag_and_drop_enabled ()

    void
    pluma_notebook_set_tab_drag_and_drop_enabled
                                   (PlumaNotebook *nb,
                                    gboolean enable);

Sets whether drag and drop of tabs in the `nb` is enabled.

#### Parameters

nb | a PlumaNotebook |
enable | `TRUE` to enable the drag and drop |

### pluma_notebook_get_tab_drag_and_drop_enabled ()

    gboolean
    pluma_notebook_get_tab_drag_and_drop_enabled
                                   (PlumaNotebook *nb);

Whether the drag and drop is enabled in the `nb` .

#### Parameters

nb | a PlumaNotebook |

#### Returns

`TRUE` if the drag and drop is enabled.

## Types and Values

### PlumaNotebookPrivate

    typedef struct _PlumaNotebookPrivate PlumaNotebookPrivate;

### struct PlumaNotebook

    struct PlumaNotebook;

## Signal Details

### The `“tab-added”` signal

    void
    user_function (PlumaNotebook *plumanotebook,
                   PlumaTab      *arg1,
                   gpointer       user_data)

Flags: Run First

### The `“tab-close-request”` signal

    void
    user_function (PlumaNotebook *plumanotebook,
                   PlumaTab      *arg1,
                   gpointer       user_data)

Flags: Run Last

### The `“tab-detached”` signal

    void
    user_function (PlumaNotebook *plumanotebook,
                   PlumaTab      *arg1,
                   gpointer       user_data)

Flags: Run First

### The `“tab-removed”` signal

    void
    user_function (PlumaNotebook *plumanotebook,
                   PlumaTab      *arg1,
                   gpointer       user_data)

Flags: Run First

### The `“tabs-reordered”` signal

    void
    user_function (PlumaNotebook *plumanotebook,
                   gpointer       user_data)

Flags: Run First