GtkNotebook {RGtk2} | R Documentation

## GtkNotebook

### Description

A tabbed notebook container

### Methods and Functions

`gtkNotebookNew(show = TRUE)`
`gtkNotebookAppendPage(object, child, tab.label = NULL)`
`gtkNotebookAppendPageMenu(object, child, tab.label = NULL, menu.label = NULL)`
`gtkNotebookPrependPage(object, child, tab.label = NULL)`
`gtkNotebookPrependPageMenu(object, child, tab.label = NULL, menu.label = NULL)`
`gtkNotebookInsertPage(object, child, tab.label = NULL, position = -1)`
`gtkNotebookInsertPageMenu(object, child, tab.label = NULL, menu.label = NULL, position = -1)`
`gtkNotebookRemovePage(object, page.num)`
`gtkNotebookPageNum(object, child)`
`gtkNotebookNextPage(object)`
`gtkNotebookPrevPage(object)`
`gtkNotebookReorderChild(object, child, position)`
`gtkNotebookSetTabPos(object, pos)`
`gtkNotebookSetShowTabs(object, show.tabs)`
`gtkNotebookSetShowBorder(object, show.border)`
`gtkNotebookSetScrollable(object, scrollable)`
`gtkNotebookSetTabBorder(object, border.width)`
`gtkNotebookPopupEnable(object)`
`gtkNotebookPopupDisable(object)`
`gtkNotebookGetCurrentPage(object)`
`gtkNotebookGetMenuLabel(object, child)`
`gtkNotebookGetNthPage(object, page.num)`
`gtkNotebookGetNPages(object)`
`gtkNotebookGetTabLabel(object, child)`
`gtkNotebookQueryTabLabelPacking(object, child)`
`gtkNotebookSetHomogeneousTabs(object, homogeneous)`
`gtkNotebookSetMenuLabel(object, child, menu.label = NULL)`
`gtkNotebookSetMenuLabelText(object, child, menu.text)`
`gtkNotebookSetTabHborder(object, tab.hborder)`
`gtkNotebookSetTabLabel(object, child, tab.label = NULL)`
`gtkNotebookSetTabLabelPacking(object, child, expand, fill, pack.type)`
`gtkNotebookSetTabLabelText(object, child, tab.text)`
`gtkNotebookSetTabVborder(object, tab.vborder)`
`gtkNotebookSetTabReorderable(object, child, reorderable)`
`gtkNotebookSetTabDetachable(object, child, detachable)`
`gtkNotebookGetMenuLabelText(object, child)`
`gtkNotebookGetScrollable(object)`
`gtkNotebookGetShowBorder(object)`
`gtkNotebookGetShowTabs(object)`
`gtkNotebookGetTabLabelText(object, child)`
`gtkNotebookGetTabPos(object)`
`gtkNotebookGetTabReorderable(object, child)`
`gtkNotebookGetTabDetachable(object, child)`
`gtkNotebookSetCurrentPage(object, page.num)`
`gtkNotebookSetGroupId(object, group.id)`
`gtkNotebookSetGroupId(object, group.id)`
`gtkNotebookGetGroupId(object)`
`gtkNotebookGetGroupId(object)`
`gtkNotebookSetGroup(object, group)`
`gtkNotebookGetGroup(object)`
`gtkNotebookSetActionWidget(object, widget, pack.type)`
`gtkNotebookGetActionWidget(object, pack.type)`
`gtkNotebookSetWindowCreationHook(func, data)`
`gtkNotebook(show = TRUE)`

### Hierarchy

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

### Interfaces

GtkNotebook implements AtkImplementorIface and `GtkBuildable`.

### Detailed Description

The `GtkNotebook` widget is a `GtkContainer` whose children are pages that can be switched between using tab labels along one edge.

There are many configuration options for `GtkNotebook`. Among other things, you can choose on which edge the tabs appear (see `gtkNotebookSetTabPos`), whether, if there are too many tabs to fit the notebook should be made bigger or scrolling arrows added (see gtk_notebook_set_scrollable), and whether there will be a popup menu allowing the users to switch pages. (see `gtkNotebookPopupEnable`, `gtkNotebookPopupDisable`)

### GtkNotebook as GtkBuildable

The GtkNoteboopk implementation of the GtkBuildable interface supports placing children into tabs by specifying "tab" as the "type" attribute of a <child> element. Note that the content of the tab must be created before the tab can be filled. A tab child can be specified without specifying a <child> type attribute.

To add a child widget in the notebooks action area, specify "action-start" or "action-end" as the "type" attribute of the <child> element.

A UI definition fragment with GtkNotebook

    <object class="GtkNotebook">
      <child>
        <object class="GtkLabel" id="notebook-content">
          <property name="label">Content</property>
        </object>
      </child>
      <child type="tab">
        <object class="GtkLabel" id="notebook-tab">
          <property name="label">Tab</property>
        </object>
      </child>
    </object>

### Structures

`GtkNotebook`

  undocumented

  `tabPos`

    [`GtkPositionType`]

### Convenient Construction

`gtkNotebook` is the equivalent of `gtkNotebookNew`.

### User Functions

`GtkNotebookWindowCreationFunc(source, page, x, y, data)`

  A function used by GtkNotebook when a detachable tab is dropped in the root window, it's used to create a window containing a notebook where the tab will be attached. This function will also be responsible of moving/resizing the window and adding the necessary properties to the notebook (i.e.: group-id). If the function returns `NULL`, the drag will be cancelled.

  `source`

    The source `GtkNotebook` of the drag operation

  `page`

    the child `GtkWidget` affected

  `x`

    the X coordinate where the drop happens

  `y`

    the Y coordinate where the drop happens

  `data`

    user data

  Returns: [`GtkNotebook`] The created `GtkNotebook` where the tab will be attached, or NULL to cancel the drag

### Signals

`change-current-page(notebook, user.data)`

  undocumented

  `notebook`

    the object which received the signal.

  `user.data`

    user data set when the signal handler was connected.

`create-window(notebook, page, x, y, user.data)`

  The ::create-window signal is emitted when a detachable tab is dropped on the root window.

  A handler for this signal can create a window containing a notebook where the tab will be attached. It is also responsible for moving/resizing the window and adding the necessary properties to the notebook (e.g. the `"group-id"` ).

  The default handler uses the global window creation hook, if one has been set with `gtkNotebookSetWindowCreationHook`. Since 2.12

  `notebook`

    the `GtkNotebook` emitting the signal

  `page`

    the tab of `notebook` that is being detached

  `x`

    the X coordinate where the drop happens

  `y`

    the Y coordinate where the drop happens

  `user.data`

    user data set when the signal handler was connected.

  Returns: [`GtkNotebook`] a `GtkNotebook` that `page` should be added to, or `NULL`.

`focus-tab(notebook, user.data)`

  undocumented

  `notebook`

    the object which received the signal.

  `user.data`

    user data set when the signal handler was connected.

`move-focus-out(notebook, user.data)`

  undocumented

  `notebook`

    the object which received the signal.

  `user.data`

    user data set when the signal handler was connected.

`page-added(notebook, child, page.num, user.data)`

  the ::page-added signal is emitted in the notebook right after a page is added to the notebook. Since 2.10

  `notebook`

    the `GtkNotebook`

  `child`

    the child `GtkWidget` affected

  `page.num`

    the new page number for `child`

  `user.data`

    user data set when the signal handler was connected.

`page-removed(notebook, child, page.num, user.data)`

  the ::page-removed signal is emitted in the notebook right after a page is removed from the notebook. Since 2.10

  `notebook`

    the `GtkNotebook`

  `child`

    the child `GtkWidget` affected

  `page.num`

    the `child` page number

  `user.data`

    user data set when the signal handler was connected.

`page-reordered(notebook, child, page.num, user.data)`

  the ::page-reordered signal is emitted in the notebook right after a page has been reordered. Since 2.10

  `notebook`

    the `GtkNotebook`

  `child`

    the child `GtkWidget` affected

  `page.num`

    the new page number for `child`

  `user.data`

    user data set when the signal handler was connected.

`reorder-tab(notebook, user.data)`

  undocumented

  `notebook`

    the object which received the signal.

  `user.data`

    user data set when the signal handler was connected.

`select-page(notebook, user.data)`

  undocumented

  `notebook`

    the object which received the signal.

  `user.data`

    user data set when the signal handler was connected.

`switch-page(notebook, page, page.num, user.data)`

  Emitted when the user or a function changes the current page.

  `notebook`

    the object which received the signal.

  `page`

    the new current page

  `page.num`

    the index of the page

  `user.data`

    user data set when the signal handler was connected.

### Properties

`enable-popup` [logical : Read / Write]

  If TRUE, pressing the right mouse button on the notebook pops up a menu that you can use to go to a page. Default value: FALSE

`group` [R object : Read / Write]

  Group for tabs drag and drop. Since 2.12

`group-id` [integer : Read / Write]

  Group ID for tabs drag and drop. Allowed values: >= -1 Default value: -1

`homogeneous` [logical : Read / Write]

  Whether tabs should have homogeneous sizes. Default value: FALSE

`page` [integer : Read / Write]

  The index of the current page. Allowed values: >= -1 Default value: -1

`scrollable` [logical : Read / Write]

  If TRUE, scroll arrows are added if there are too many tabs to fit. Default value: FALSE

`show-border` [logical : Read / Write]

  Whether the border should be shown or not. Default value: TRUE

`show-tabs` [logical : Read / Write]

  Whether tabs should be shown or not. Default value: TRUE

`tab-border` [numeric : Write]

  Width of the border around the tab labels. Default value: 2

`tab-hborder` [numeric : Read / Write]

  Width of the horizontal border of tab labels. Default value: 2

`tab-pos` [`GtkPositionType` : Read / Write]

  Which side of the notebook holds the tabs. Default value: GTK_POS_TOP

`tab-vborder` [numeric : Read / Write]

  Width of the vertical border of tab labels. Default value: 2

### Style Properties

`arrow-spacing` [integer : Read]

  The "arrow-spacing" property defines the spacing between the scroll arrows and the tabs. Allowed values: >= 0 Default value: 0 Since 2.10

`has-backward-stepper` [logical : Read]

  The "has-backward-stepper" property determines whether the standard backward arrow button is displayed. Default value: TRUE Since 2.4

`has-forward-stepper` [logical : Read]

  The "has-forward-stepper" property determines whether the standard forward arrow button is displayed. Default value: TRUE Since 2.4

`has-secondary-backward-stepper` [logical : Read]

  The "has-secondary-backward-stepper" property determines whether a second backward arrow button is displayed on the opposite end of the tab area. Default value: FALSE Since 2.4

`has-secondary-forward-stepper` [logical : Read]

  The "has-secondary-forward-stepper" property determines whether a second forward arrow button is displayed on the opposite end of the tab area. Default value: FALSE Since 2.4

`tab-curvature` [integer : Read]

  The "tab-curvature" property defines size of tab curvature. Allowed values: >= 0 Default value: 1 Since 2.10

`tab-overlap` [integer : Read]

  The "tab-overlap" property defines size of tab overlap area. Default value: 2 Since 2.10

### Author(s)

Derived by RGtkGen from GTK+ documentation

### References

https://developer.gnome.org/gtk2/stable/GtkNotebook.html

[Package RGtk2 version 2.20.36.3 Index]