PlumaNotebook

## PlumaNotebook PlumaNotebook |

## Synopsis

                        PlumaNotebookPrivate;
    struct              PlumaNotebook;
    GtkWidget *         pluma_notebook_new                  (void);
    void                pluma_notebook_add_tab              (PlumaNotebook *nb,
                                                             PlumaTab *tab,
                                                             gint position,
                                                             gboolean jump_to);
    void                pluma_notebook_remove_tab           (PlumaNotebook *nb,
                                                             PlumaTab *tab);
    void                pluma_notebook_remove_all_tabs      (PlumaNotebook *nb);
    void                pluma_notebook_reorder_tab          (PlumaNotebook *src,
                                                             PlumaTab *tab,
                                                             gint dest_position);
    void                pluma_notebook_move_tab             (PlumaNotebook *src,
                                                             PlumaNotebook *dest,
                                                             PlumaTab *tab,
                                                             gint dest_position);
    void                pluma_notebook_set_always_show_tabs (PlumaNotebook *nb,
                                                             gboolean show_tabs);
    void                pluma_notebook_set_close_buttons_sensitive
                                                            (PlumaNotebook *nb,
                                                             gboolean sensitive);
    gboolean            pluma_notebook_get_close_buttons_sensitive
                                                            (PlumaNotebook *nb);
    void                pluma_notebook_set_tab_drag_and_drop_enabled
                                                            (PlumaNotebook *nb,
                                                             gboolean enable);
    gboolean            pluma_notebook_get_tab_drag_and_drop_enabled
                                                            (PlumaNotebook *nb);

## Object Hierarchy

      GObject
       +----GInitiallyUnowned
             +----GtkObject
                   +----GtkWidget
                         +----GtkContainer
                               +----GtkNotebook
                                     +----PlumaNotebook

## Implemented Interfaces

PlumaNotebook implements AtkImplementorIface and GtkBuildable.

## Signals

      "tab-added"                                      : Run First
      "tab-close-request"                              : Run Last
      "tab-detached"                                   : Run First
      "tab-removed"                                    : Run First
      "tabs-reordered"                                 : Run First

## Description

## Details

### PlumaNotebookPrivate

    typedef struct _PlumaNotebookPrivate PlumaNotebookPrivate;

### struct PlumaNotebook

    struct PlumaNotebook;

### 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`.

`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`.

`nb` : | a PlumaNotebook
`tab` : | a PlumaTab

### pluma_notebook_remove_all_tabs ()

    void                pluma_notebook_remove_all_tabs      (PlumaNotebook *nb);

Removes all PlumaTab from `nb`.

`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.

`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.

`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`.

`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.

`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.

`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.

`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`.

`nb` : | a PlumaNotebook
Returns : | `TRUE` if the drag and drop is enabled.

## Signal Details

### The `"tab-added"` signal

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

### The `"tab-close-request"` signal

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

### The `"tab-detached"` signal

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

### The `"tab-removed"` signal

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

### The `"tabs-reordered"` signal

    void                user_function                      (PlumaNotebook *plumanotebook,
                                                            gpointer       user_data)          : Run First