## org.gnu.gtk
Class Notebook

    java.lang.Object
      org.gnu.glib.Struct
          org.gnu.glib.GObject
              org.gnu.gtk.GtkObject
                  org.gnu.gtk.Widget
                      org.gnu.gtk.Container
                          org.gnu.gtk.Notebook

public class Notebook
extends Container

A Notebook widget is a container whose children are pages that can be switched between using tab labels along one edge.

There are many configuration options for a Notebook. Among other things you can choose on which edge the tabs appear, whether, if there are too many tabs to fit th notebook should be made bigger or scrolling arrows added, and whether there will be a popup menu allowing the user to switch between pages.

Constructor Summary
`Notebook()` Construct a new Notebook object with no pages.
`Notebook(org.gnu.glib.Handle handle)` Construct a new Notebook from a handle to a native resource.

Method Summary
`void` `addListener(NotebookListener listener)` Register an object to receive event notification.
`void` `appendPage(Widget child, Widget tabLabel)` Append a page to the Notebook.
`void` `appendPage(Widget child, Widget tabLabel, Widget menuLabel)` Append a page to the Notebook.
`int` `getCurrentPage()` Returns the page number of the current page.
`java.lang.Class` `getEventListenerClass(java.lang.String signal)`
`EventType` `getEventType(java.lang.String signal)`
`static Notebook` `getNotebook(org.gnu.glib.Handle handle)` Internal static factory method to be used by Java-Gnome only.
`int` `getNumPages()` Return the number of pages currently on the notebook.
`Widget` `getPage(int pageNum)` Returns the child Widget contained int he page number `pageNum`.
`java.lang.String` `getTabLabelText(Widget child)` Retrieves the text of the tab label for the page containing child.
`static Type` `getType()` Retrieve the runtime type used by the GLib library.
`void` `insertPage(Widget child, Widget tabLabel, int position)` Insert a page into the Notebook at the given position.
`void` `insertPage(Widget child, Widget tabLabel, Widget menuLabel, int position)` Insert a page into the Notebook at the given position.
`void` `nextPage()` Switches to the next page.
`int` `pageNum(Widget child)` Finds the index of the page which contains the given child.
`void` `popupDisable()` disables the popup menu.
`void` `popupEnable()` Enables the popup menu.
`void` `prependPage(Widget child, Widget tabLabel)` Prepend a page to the Notebook.
`void` `prependPage(Widget child, Widget tabLabel, Widget menuLabel)` Prepend a page to the Notebook.
`void` `prevPage()` Switches to the previous page.
`void` `removeListener(NotebookListener listener)` Unregister an object that was receiving notebook event notification.
`void` `removePage(int pageNumber)` Removes a page fro the Notegook given its index in the notebook.
`void` `reorderChild(Widget child, int position)` Reorders the page containing `child`, so that it appears in position position.
`void` `setCurrentPage(int pageNum)` sets the page at offset `pageNum` to the current page.
`void` `setMenuLabel(Widget child, java.lang.String menuText)` Creates a new label and sets it as the menu label of `child`.
`void` `setMenuLabel(Widget child, Widget menuLabel)` Changes the menu label for the page containing `child`.
`void` `setScrollable(boolean scrollable)` Sets whether the tab label area will have arrows for scrolling if there are too many tabs to fit in the area.
`void` `setShowBorder(boolean showBorder)` Sets whether a bevel will be drawn around the notebook pages.
`void` `setShowTabs(boolean showTabs)` sets whether to show the tabs for the notebook or not.
`void` `setTabLabel(Widget child, java.lang.String tabText)` Creates a new label and sets it as the labelf or the page containing `child`.
`void` `setTabLabel(Widget child, Widget tabLabel)` Changes the tab label for `child`.
`void` `setTabLabelPacking(Widget child, boolean expand, boolean fill, PackType packType)` Sets the packing parameters for the tab label of the page containing `child`.
`void` `setTabPosition(PositionType pos)` Sets the edge at which the tabs for switching pages in the Notebook are drawn.

Methods inherited from class org.gnu.gtk.Container
`add, addListener, getBorderWidth, getChildren, getResizeMode, remove, removeListener, resizeChildren, setBorderWidth, setResizeMode`

Methods inherited from class org.gnu.gtk.Widget

`activate, addAccelerator, addEvents, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, addListener, canActivateAccel, createContext, createLayout, draw, drawArea, drawArea, finish, getAccessible, getColormap, getContext, getData, getDisplay, getDragData, getExtensionEvents, getModifierStyle, getName, getParent, getParentWindow, getPointer, getRootWindow, getScreen, getSensitive, getStyle, getToplevel, getWidget, getWindow, grabDefault, grabFocus, hasFocus, hasScreen, hide, hideAll, highlight, highlight, intersect, isAncestor, makeWidget, modifyStyle, popColormap, pushColormap, realize, removeAccelerator, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, removeListener, reparent, setBackgroundColor, setBaseColor, setColormap, setDoubleBuffered, setDragDestination, setDragIcon, setDragIconPixbuf, setDragIconStock, setDragSource, setEvents, setExtensionEvents, setFont, setForegroundColor, setMinimumSize, setName, setNoDragDestination, setNoDragSource, setSensitive, setTextColor, shapeCombineMask, show, showAll, unHighlight, unHighlight`

Methods inherited from class org.gnu.gtk.GtkObject
`destroy, sink`

Methods inherited from class org.gnu.glib.GObject

`addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addEventHandler, addListener, collect, freezeNotify, getBooleanProperty, getData, getDoubleProperty, getFloatProperty, getGObjectFromHandle, getIntProperty, getJavaObjectProperty, getLongProperty, getPixbufProperty, getProperty, getStringProperty, hasProperty, notify, removeEventHandler, removeListener, setBooleanProperty, setData, setDoubleProperty, setFloatProperty, setIntProperty, setJavaObjectProperty, setLongProperty, setPixbufProperty, setProperty, setStringProperty, thawNotify`

Methods inherited from class org.gnu.glib.Struct
`equals, getHandle, getNullHandle, hashCode`

Methods inherited from class java.lang.Object
`getClass, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### Notebook

    public Notebook()

  Construct a new Notebook object with no pages.

### Notebook

    public Notebook(org.gnu.glib.Handle handle)

  Construct a new Notebook from a handle to a native resource.

Method Detail

### getNotebook

    public static Notebook getNotebook(org.gnu.glib.Handle handle)

  Internal static factory method to be used by Java-Gnome only.

### appendPage

    public void appendPage(Widget child,
                           Widget tabLabel)

  Append a page to the Notebook.

  Parameters:
    `child` - The child widget to add to the newly created page.
    `tabLabel` - The Widget to be used as the label for the page or `null`

  ### appendPage

      public void appendPage(Widget child,
                             Widget tabLabel,
                             Widget menuLabel)

    Append a page to the Notebook.

    Parameters:
      `child` - The child widget to add to the newly created page.
      `tabLabel` - The Widget to be used as the label for the page or `null` `menuLabel` - The widget to use as a label for the page-switching menu, if that is enabled. If `null` and `tabLabel` is a Label or `null` then the menu label will be a newly created label with the same text as the `tabLabel`.

  ### prependPage

      public void prependPage(Widget child,
                              Widget tabLabel)

    Prepend a page to the Notebook.

    Parameters:
      `child` - The child widget to add to the newly created page.
      `tabLabel` - The Widget to be used as the label for the page or `null`

    ### prependPage

        public void prependPage(Widget child,
                                Widget tabLabel,
                                Widget menuLabel)

      Prepend a page to the Notebook.

      Parameters:
        `child` - The child widget to add to the newly created page.
        `tabLabel` - The Widget to be used as the label for the page or `null` `menuLabel` - The widget to use as a label for the page-switching menu, if that is enabled. If `null` and `tabLabel` is a Label or `null` then the menu label will be a newly created label with the same text as the `tabLabel`.

    ### insertPage

        public void insertPage(Widget child,
                               Widget tabLabel,
                               int position)

      Insert a page into the Notebook at the given position.

      Parameters:
        `child` - The child widget to add to the newly created page.
        `tabLabel` - The Widget to be used as the label for the page or `null` `position` - The index (starting at 0) at which to insert the page.

    ### insertPage

        public void insertPage(Widget child,
                               Widget tabLabel,
                               Widget menuLabel,
                               int position)

      Insert a page into the Notebook at the given position.

      Parameters:
        `child` - The child widget to add to the newly created page.
        `tabLabel` - The Widget to be used as the label for the page or `null` `menuLabel` - The widget to use as a label for the page-switching menu, if that is enabled. If `null` and `tabLabel` is a Label or `null` then the menu label will be a newly created label with the same text as the `tabLabel`.
        `position` - The index (starting at 0) at which to insert the page.

    ### removePage

        public void removePage(int pageNumber)

      Removes a page fro the Notegook given its index in the notebook.

      Parameters:
        `pageNumber` - The offset (starting with 0) for the page to remove.

    ### pageNum

        public int pageNum(Widget child)

      Finds the index of the page which contains the given child.

      Parameters:
        `child` - The widget to locate.
      Returns:
        The index of the page which contaons the given child.

    ### nextPage

        public void nextPage()

      Switches to the next page. Nothing happens if the current page is the last page.

    ### prevPage

        public void prevPage()

      Switches to the previous page. Nothing happens if the current page is the first page.

    ### reorderChild

        public void reorderChild(Widget child,
                                 int position)

      Reorders the page containing `child`, so that it appears in position position. If `position` is greater than or equal to the number of children in the list or negative, `child` will be moved to the end of the list.

      Parameters:
        `child` - The widget to move.
        `position` - The index (starting with 0) to move the child.

    ### setTabPosition

        public void setTabPosition(PositionType pos)

      Sets the edge at which the tabs for switching pages in the Notebook are drawn.

    ### setShowTabs

        public void setShowTabs(boolean showTabs)

      sets whether to show the tabs for the notebook or not.

    ### setShowBorder

        public void setShowBorder(boolean showBorder)

      Sets whether a bevel will be drawn around the notebook pages.

    ### setScrollable

        public void setScrollable(boolean scrollable)

      Sets whether the tab label area will have arrows for scrolling if there are too many tabs to fit in the area.

    ### popupEnable

        public void popupEnable()

      Enables the popup menu.

    ### popupDisable

        public void popupDisable()

      disables the popup menu.

    ### getCurrentPage

        public int getCurrentPage()

      Returns the page number of the current page. If the notebook has no pages, then -1 will be returned.

    ### getTabLabelText

        public java.lang.String getTabLabelText(Widget child)

      Retrieves the text of the tab label for the page containing child.

      Parameters:
        `child` - a widget contained in a page of notebook
      Returns:
        value: the text of the tab label, or NULL if the tab label widget is not a Label.

    ### setCurrentPage

        public void setCurrentPage(int pageNum)

      sets the page at offset `pageNum` to the current page.

    ### getPage

        public Widget getPage(int pageNum)

      Returns the child Widget contained int he page number `pageNum`.

    ### setMenuLabel

        public void setMenuLabel(Widget child,
                                 Widget menuLabel)

      Changes the menu label for the page containing `child`.

    ### setMenuLabel

        public void setMenuLabel(Widget child,
                                 java.lang.String menuText)

      Creates a new label and sets it as the menu label of `child`.

    ### setTabLabel

        public void setTabLabel(Widget child,
                                Widget tabLabel)

      Changes the tab label for `child`.

    ### setTabLabel

        public void setTabLabel(Widget child,
                                java.lang.String tabText)

      Creates a new label and sets it as the labelf or the page containing `child`.

    ### setTabLabelPacking

        public void setTabLabelPacking(Widget child,
                                       boolean expand,
                                       boolean fill,
                                       PackType packType)

      Sets the packing parameters for the tab label of the page containing `child`.

      See Also:
        `Box`

    ### getNumPages

        public int getNumPages()

      Return the number of pages currently on the notebook.

    ### getEventListenerClass

        public java.lang.Class getEventListenerClass(java.lang.String signal)

      Overrides:
        `getEventListenerClass` in class `Container`

    ### getEventType

        public EventType getEventType(java.lang.String signal)

      Overrides:
        `getEventType` in class `Container`

    ### addListener

        public void addListener(NotebookListener listener)

      Register an object to receive event notification.

      Parameters:
        `listener` - The object that has implemented the NotebookListener interface that is to receive the notebook events.

    ### removeListener

        public void removeListener(NotebookListener listener)

      Unregister an object that was receiving notebook event notification.

      Parameters:
        `listener` - The object that is to no longer receive notebook events.

    ### getType

        public static Type getType()

      Retrieve the runtime type used by the GLib library.