Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
Safe Haskell | None |
Language | Haskell2010 |
GI.Gtk.Objects.Notebook
Contents
- Exported types
- Methods
- appendPage
- appendPageMenu
- detachTab
- getActionWidget
- getCurrentPage
- getGroupName
- getMenuLabel
- getMenuLabelText
- getNPages
- getNthPage
- getScrollable
- getShowBorder
- getShowTabs
- getTabDetachable
- getTabHborder
- getTabLabel
- getTabLabelText
- getTabPos
- getTabReorderable
- getTabVborder
- insertPage
- insertPageMenu
- new
- nextPage
- pageNum
- popupDisable
- popupEnable
- prependPage
- prependPageMenu
- prevPage
- removePage
- reorderChild
- setActionWidget
- setCurrentPage
- setGroupName
- setMenuLabel
- setMenuLabelText
- setScrollable
- setShowBorder
- setShowTabs
- setTabDetachable
- setTabLabel
- setTabLabelText
- setTabPos
- setTabReorderable
- Properties
- Signals
Description
The 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 GtkNotebook. Among other
things, you can choose on which edge the tabs appear
(see notebookSetTabPos
), whether, if there are too many
tabs to fit the notebook should be made bigger or scrolling
arrows added (see notebookSetScrollable
), and whether there
will be a popup menu allowing the users to switch pages.
(see notebookPopupEnable
, notebookPopupDisable
)
GtkNotebook as GtkBuildable
The GtkNotebook implementation of the Buildable
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.
An example of a UI definition fragment with GtkNotebook: > >class="GtkNotebook" > child > class="GtkLabel" id="notebook-content" > name="label"Content/property > /object > /child > type="tab" > class="GtkLabel" id="notebook-tab" > name="label"Tab/property > /object > /child >/object
CSS nodes
plain code
notebook ├── header.top │ ├── [<action widget>] │ ├── tabs │ │ ├── [arrow] │ │ ├── tab │ │ │ ╰── <tab label> ┊ ┊ ┊ │ │ ├── tab[.reorderable-page] │ │ │ ╰── <tab label> │ │ ╰── [arrow] │ ╰── [<action widget>] │ ╰── stack ├── <child> ┊ ╰── <child>
GtkNotebook has a main CSS node with name notebook, a subnode with name header and below that a subnode with name tabs which contains one subnode per tab with name tab.
If action widgets are present, their CSS nodes are placed next to the tabs node. If the notebook is scrollable, CSS nodes with name arrow are placed as first and last child of the tabs node.
The main node gets the .frame style class when the notebook
has a border (see notebookSetShowBorder
).
The header node gets one of the style class .top, .bottom, .left or .right, depending on where the tabs are placed. For reorderable pages, the tab node gets the .reorderable-page class.
A tab node gets the .dnd style class while it is moved with drag-and-drop.
The nodes are always arranged from left-to-right, regarldess of text direction.
- newtype Notebook = Notebook (ManagedPtr Notebook)
- class GObject o => IsNotebook o
- toNotebook :: (MonadIO m, IsNotebook o) => o -> m Notebook
- noNotebook :: Maybe Notebook
- notebookAppendPage :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) => a -> b -> Maybe c -> m Int32
- notebookAppendPageMenu :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c, IsWidget d) => a -> b -> Maybe c -> Maybe d -> m Int32
- notebookDetachTab :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m ()
- notebookGetActionWidget :: (HasCallStack, MonadIO m, IsNotebook a) => a -> PackType -> m (Maybe Widget)
- notebookGetCurrentPage :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Int32
- notebookGetGroupName :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m (Maybe Text)
- notebookGetMenuLabel :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m (Maybe Widget)
- notebookGetMenuLabelText :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m (Maybe Text)
- notebookGetNPages :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Int32
- notebookGetNthPage :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Int32 -> m (Maybe Widget)
- notebookGetScrollable :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Bool
- notebookGetShowBorder :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Bool
- notebookGetShowTabs :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Bool
- notebookGetTabDetachable :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m Bool
- notebookGetTabHborder :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Word16
- notebookGetTabLabel :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m (Maybe Widget)
- notebookGetTabLabelText :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m (Maybe Text)
- notebookGetTabPos :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m PositionType
- notebookGetTabReorderable :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m Bool
- notebookGetTabVborder :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m Word16
- notebookInsertPage :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) => a -> b -> Maybe c -> Int32 -> m Int32
- notebookInsertPageMenu :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c, IsWidget d) => a -> b -> Maybe c -> Maybe d -> Int32 -> m Int32
- notebookNew :: (HasCallStack, MonadIO m) => m Notebook
- notebookNextPage :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m ()
- notebookPageNum :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m Int32
- notebookPopupDisable :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m ()
- notebookPopupEnable :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m ()
- notebookPrependPage :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) => a -> b -> Maybe c -> m Int32
- notebookPrependPageMenu :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c, IsWidget d) => a -> b -> Maybe c -> Maybe d -> m Int32
- notebookPrevPage :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m ()
- notebookRemovePage :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Int32 -> m ()
- notebookReorderChild :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> Int32 -> m ()
- notebookSetActionWidget :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> PackType -> m ()
- notebookSetCurrentPage :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Int32 -> m ()
- notebookSetGroupName :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Maybe Text -> m ()
- notebookSetMenuLabel :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) => a -> b -> Maybe c -> m ()
- notebookSetMenuLabelText :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> Text -> m ()
- notebookSetScrollable :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Bool -> m ()
- notebookSetShowBorder :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Bool -> m ()
- notebookSetShowTabs :: (HasCallStack, MonadIO m, IsNotebook a) => a -> Bool -> m ()
- notebookSetTabDetachable :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> Bool -> m ()
- notebookSetTabLabel :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) => a -> b -> Maybe c -> m ()
- notebookSetTabLabelText :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> Text -> m ()
- notebookSetTabPos :: (HasCallStack, MonadIO m, IsNotebook a) => a -> PositionType -> m ()
- notebookSetTabReorderable :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> Bool -> m ()
- constructNotebookEnablePopup :: IsNotebook o => Bool -> IO (GValueConstruct o)
- getNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- clearNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m ()
- constructNotebookGroupName :: IsNotebook o => Text -> IO (GValueConstruct o)
- getNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m (Maybe Text)
- setNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> Text -> m ()
- constructNotebookPage :: IsNotebook o => Int32 -> IO (GValueConstruct o)
- getNotebookPage :: (MonadIO m, IsNotebook o) => o -> m Int32
- setNotebookPage :: (MonadIO m, IsNotebook o) => o -> Int32 -> m ()
- constructNotebookScrollable :: IsNotebook o => Bool -> IO (GValueConstruct o)
- getNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- constructNotebookShowBorder :: IsNotebook o => Bool -> IO (GValueConstruct o)
- getNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- constructNotebookShowTabs :: IsNotebook o => Bool -> IO (GValueConstruct o)
- getNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- constructNotebookTabPos :: IsNotebook o => PositionType -> IO (GValueConstruct o)
- getNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> m PositionType
- setNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> PositionType -> m ()
- type C_NotebookChangeCurrentPageCallback = Ptr () -> Int32 -> Ptr () -> IO CInt
- type NotebookChangeCurrentPageCallback = Int32 -> IO Bool
- afterNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> NotebookChangeCurrentPageCallback -> m SignalHandlerId
- genClosure_NotebookChangeCurrentPage :: NotebookChangeCurrentPageCallback -> IO Closure
- mk_NotebookChangeCurrentPageCallback :: C_NotebookChangeCurrentPageCallback -> IO (FunPtr C_NotebookChangeCurrentPageCallback)
- noNotebookChangeCurrentPageCallback :: Maybe NotebookChangeCurrentPageCallback
- onNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> NotebookChangeCurrentPageCallback -> m SignalHandlerId
- wrap_NotebookChangeCurrentPageCallback :: NotebookChangeCurrentPageCallback -> Ptr () -> Int32 -> Ptr () -> IO CInt
- type C_NotebookCreateWindowCallback = Ptr () -> Ptr Widget -> Int32 -> Int32 -> Ptr () -> IO (Ptr Notebook)
- type NotebookCreateWindowCallback = Widget -> Int32 -> Int32 -> IO Notebook
- afterNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> NotebookCreateWindowCallback -> m SignalHandlerId
- genClosure_NotebookCreateWindow :: NotebookCreateWindowCallback -> IO Closure
- mk_NotebookCreateWindowCallback :: C_NotebookCreateWindowCallback -> IO (FunPtr C_NotebookCreateWindowCallback)
- noNotebookCreateWindowCallback :: Maybe NotebookCreateWindowCallback
- onNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> NotebookCreateWindowCallback -> m SignalHandlerId
- wrap_NotebookCreateWindowCallback :: NotebookCreateWindowCallback -> Ptr () -> Ptr Widget -> Int32 -> Int32 -> Ptr () -> IO (Ptr Notebook)
- type C_NotebookFocusTabCallback = Ptr () -> CUInt -> Ptr () -> IO CInt
- type NotebookFocusTabCallback = NotebookTab -> IO Bool
- afterNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> NotebookFocusTabCallback -> m SignalHandlerId
- genClosure_NotebookFocusTab :: NotebookFocusTabCallback -> IO Closure
- mk_NotebookFocusTabCallback :: C_NotebookFocusTabCallback -> IO (FunPtr C_NotebookFocusTabCallback)
- noNotebookFocusTabCallback :: Maybe NotebookFocusTabCallback
- onNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> NotebookFocusTabCallback -> m SignalHandlerId
- wrap_NotebookFocusTabCallback :: NotebookFocusTabCallback -> Ptr () -> CUInt -> Ptr () -> IO CInt
- type C_NotebookMoveFocusOutCallback = Ptr () -> CUInt -> Ptr () -> IO ()
- type NotebookMoveFocusOutCallback = DirectionType -> IO ()
- afterNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> NotebookMoveFocusOutCallback -> m SignalHandlerId
- genClosure_NotebookMoveFocusOut :: NotebookMoveFocusOutCallback -> IO Closure
- mk_NotebookMoveFocusOutCallback :: C_NotebookMoveFocusOutCallback -> IO (FunPtr C_NotebookMoveFocusOutCallback)
- noNotebookMoveFocusOutCallback :: Maybe NotebookMoveFocusOutCallback
- onNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> NotebookMoveFocusOutCallback -> m SignalHandlerId
- wrap_NotebookMoveFocusOutCallback :: NotebookMoveFocusOutCallback -> Ptr () -> CUInt -> Ptr () -> IO ()
- type C_NotebookPageAddedCallback = Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type NotebookPageAddedCallback = Widget -> Word32 -> IO ()
- afterNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> NotebookPageAddedCallback -> m SignalHandlerId
- genClosure_NotebookPageAdded :: NotebookPageAddedCallback -> IO Closure
- mk_NotebookPageAddedCallback :: C_NotebookPageAddedCallback -> IO (FunPtr C_NotebookPageAddedCallback)
- noNotebookPageAddedCallback :: Maybe NotebookPageAddedCallback
- onNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> NotebookPageAddedCallback -> m SignalHandlerId
- wrap_NotebookPageAddedCallback :: NotebookPageAddedCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type C_NotebookPageRemovedCallback = Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type NotebookPageRemovedCallback = Widget -> Word32 -> IO ()
- afterNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> NotebookPageRemovedCallback -> m SignalHandlerId
- genClosure_NotebookPageRemoved :: NotebookPageRemovedCallback -> IO Closure
- mk_NotebookPageRemovedCallback :: C_NotebookPageRemovedCallback -> IO (FunPtr C_NotebookPageRemovedCallback)
- noNotebookPageRemovedCallback :: Maybe NotebookPageRemovedCallback
- onNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> NotebookPageRemovedCallback -> m SignalHandlerId
- wrap_NotebookPageRemovedCallback :: NotebookPageRemovedCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type C_NotebookPageReorderedCallback = Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type NotebookPageReorderedCallback = Widget -> Word32 -> IO ()
- afterNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> NotebookPageReorderedCallback -> m SignalHandlerId
- genClosure_NotebookPageReordered :: NotebookPageReorderedCallback -> IO Closure
- mk_NotebookPageReorderedCallback :: C_NotebookPageReorderedCallback -> IO (FunPtr C_NotebookPageReorderedCallback)
- noNotebookPageReorderedCallback :: Maybe NotebookPageReorderedCallback
- onNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> NotebookPageReorderedCallback -> m SignalHandlerId
- wrap_NotebookPageReorderedCallback :: NotebookPageReorderedCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type C_NotebookReorderTabCallback = Ptr () -> CUInt -> CInt -> Ptr () -> IO CInt
- type NotebookReorderTabCallback = DirectionType -> Bool -> IO Bool
- afterNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> NotebookReorderTabCallback -> m SignalHandlerId
- genClosure_NotebookReorderTab :: NotebookReorderTabCallback -> IO Closure
- mk_NotebookReorderTabCallback :: C_NotebookReorderTabCallback -> IO (FunPtr C_NotebookReorderTabCallback)
- noNotebookReorderTabCallback :: Maybe NotebookReorderTabCallback
- onNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> NotebookReorderTabCallback -> m SignalHandlerId
- wrap_NotebookReorderTabCallback :: NotebookReorderTabCallback -> Ptr () -> CUInt -> CInt -> Ptr () -> IO CInt
- type C_NotebookSelectPageCallback = Ptr () -> CInt -> Ptr () -> IO CInt
- type NotebookSelectPageCallback = Bool -> IO Bool
- afterNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> NotebookSelectPageCallback -> m SignalHandlerId
- genClosure_NotebookSelectPage :: NotebookSelectPageCallback -> IO Closure
- mk_NotebookSelectPageCallback :: C_NotebookSelectPageCallback -> IO (FunPtr C_NotebookSelectPageCallback)
- noNotebookSelectPageCallback :: Maybe NotebookSelectPageCallback
- onNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> NotebookSelectPageCallback -> m SignalHandlerId
- wrap_NotebookSelectPageCallback :: NotebookSelectPageCallback -> Ptr () -> CInt -> Ptr () -> IO CInt
- type C_NotebookSwitchPageCallback = Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
- type NotebookSwitchPageCallback = Widget -> Word32 -> IO ()
- afterNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> NotebookSwitchPageCallback -> m SignalHandlerId
- genClosure_NotebookSwitchPage :: NotebookSwitchPageCallback -> IO Closure
- mk_NotebookSwitchPageCallback :: C_NotebookSwitchPageCallback -> IO (FunPtr C_NotebookSwitchPageCallback)
- noNotebookSwitchPageCallback :: Maybe NotebookSwitchPageCallback
- onNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> NotebookSwitchPageCallback -> m SignalHandlerId
- wrap_NotebookSwitchPageCallback :: NotebookSwitchPageCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO ()
Exported types
Constructors
Notebook (ManagedPtr Notebook) |
class GObject o => IsNotebook o Source #
Instances
(GObject a, UnknownAncestorError Constraint Notebook a) => IsNotebook a Source # | |
IsNotebook Notebook Source # | |
toNotebook :: (MonadIO m, IsNotebook o) => o -> m Notebook Source #
Methods
appendPage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> m Int32 | Returns: the index (starting from 0) of the appended page in the notebook, or -1 if function fails |
Appends a page to notebook
.
appendPageMenu
notebookAppendPageMenu Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c, IsWidget d) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> Maybe d |
|
-> m Int32 | Returns: the index (starting from 0) of the appended page in the notebook, or -1 if function fails |
Appends a page to notebook
, specifying the widget to use as the
label in the popup menu.
detachTab
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Removes the child from the notebook.
This function is very similar to containerRemove
,
but additionally informs the notebook that the removal
is happening as part of a tab DND operation, which should
not be cancelled.
Since: 3.16
getActionWidget
notebookGetActionWidget Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> PackType |
|
-> m (Maybe Widget) | Returns: The action widget with the given
|
Gets one of the action widgets. See notebookSetActionWidget
.
Since: 2.20
getCurrentPage
notebookGetCurrentPage Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Int32 | Returns: the index (starting from 0) of the current page in the notebook. If the notebook has no pages, then -1 will be returned. |
Returns the page number of the current page.
getGroupName
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m (Maybe Text) | Returns: the group name, or |
Gets the current group name for notebook
.
Since: 2.24
getMenuLabel
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m (Maybe Widget) | Returns: the menu label, or |
Retrieves the menu label widget of the page containing child
.
getMenuLabelText
notebookGetMenuLabelText Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m (Maybe Text) | Returns: the text of the tab label, or |
Retrieves the text of the menu label for the page containing
child
.
getNPages
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Int32 | Returns: the number of pages in the notebook |
Gets the number of pages in a notebook.
Since: 2.2
getNthPage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Int32 |
|
-> m (Maybe Widget) | Returns: the child widget, or |
Returns the child widget contained in page number pageNum
.
getScrollable
notebookGetScrollable Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the tab label area has arrows for scrolling.
See notebookSetScrollable
.
getShowBorder
notebookGetShowBorder Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether a bevel will be drawn around the notebook pages.
See notebookSetShowBorder
.
getShowTabs
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the tabs of the notebook are shown.
See notebookSetShowTabs
.
getTabDetachable
notebookGetTabDetachable Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m Bool | Returns: |
Returns whether the tab contents can be detached from notebook
.
Since: 2.10
getTabHborder
notebookGetTabHborder Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Word16 | Returns: horizontal width of a tab border |
Deprecated: (Since version 3.4)this function returns zero
Returns the horizontal width of a tab border.
Since: 2.22
getTabLabel
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m (Maybe Widget) | Returns: the tab label |
Returns the tab label widget for the page child
.
Nothing
is returned if child
is not in notebook
or
if no tab label has specifically been set for child
.
getTabLabelText
notebookGetTabLabelText Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m (Maybe Text) | Returns: the text of the tab label, or |
Retrieves the text of the tab label for the page containing
child
.
getTabPos
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m PositionType | Returns: the edge at which the tabs are drawn |
Gets the edge at which the tabs for switching pages in the notebook are drawn.
getTabReorderable
notebookGetTabReorderable Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m Bool | Returns: |
Gets whether the tab can be reordered via drag and drop or not.
Since: 2.10
getTabVborder
notebookGetTabVborder Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Word16 | Returns: vertical width of a tab border |
Deprecated: (Since version 3.4)this function returns zero
Returns the vertical width of a tab border.
Since: 2.22
insertPage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> Int32 |
|
-> m Int32 | Returns: the index (starting from 0) of the inserted page in the notebook, or -1 if function fails |
Insert a page into notebook
at the given position.
insertPageMenu
notebookInsertPageMenu Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c, IsWidget d) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> Maybe d |
|
-> Int32 |
|
-> m Int32 | Returns: the index (starting from 0) of the inserted page in the notebook |
Insert a page into notebook
at the given position, specifying
the widget to use as the label in the popup menu.
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> m Notebook | Returns: the newly created |
Creates a new Notebook
widget with no pages.
nextPage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Switches to the next page. Nothing happens if the current page is the last page.
pageNum
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m Int32 | Returns: the index of the page containing |
Finds the index of the page which contains the given child widget.
popupDisable
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Disables the popup menu.
popupEnable
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Enables the popup menu: if the user clicks with the right mouse button on the tab labels, a menu with all the pages will be popped up.
prependPage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> m Int32 | Returns: the index (starting from 0) of the prepended page in the notebook, or -1 if function fails |
Prepends a page to notebook
.
prependPageMenu
notebookPrependPageMenu Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c, IsWidget d) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> Maybe d |
|
-> m Int32 | Returns: the index (starting from 0) of the prepended page in the notebook, or -1 if function fails |
Prepends a page to notebook
, specifying the widget to use as the
label in the popup menu.
prevPage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Switches to the previous page. Nothing happens if the current page is the first page.
removePage
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Int32 |
|
-> m () |
Removes a page from the notebook given its index in the notebook.
reorderChild
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> Int32 |
|
-> m () |
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.
setActionWidget
notebookSetActionWidget Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> PackType |
|
-> m () |
Sets widget
as one of the action widgets. Depending on the pack type
the widget will be placed before or after the tabs. You can use
a Box
if you need to pack more than one widget on the same side.
Note that action widgets are “internal” children of the notebook and thus
not included in the list returned from containerForeach
.
Since: 2.20
setCurrentPage
notebookSetCurrentPage Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Int32 |
|
-> m () |
Switches to the page number pageNum
.
Note that due to historical reasons, GtkNotebook refuses to switch to a page unless the child widget is visible. Therefore, it is recommended to show child widgets before adding them to a notebook.
setGroupName
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Sets a group name for notebook
.
Notebooks with the same name will be able to exchange tabs
via drag and drop. A notebook with a Nothing
group name will
not be able to exchange tabs with any other notebook.
Since: 2.24
setMenuLabel
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> m () |
Changes the menu label for the page containing child
.
setMenuLabelText
notebookSetMenuLabelText Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () |
Creates a new label and sets it as the menu label of child
.
setScrollable
notebookSetScrollable Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether the tab label area will have arrows for scrolling if there are too many tabs to fit in the area.
setShowBorder
notebookSetShowBorder Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether a bevel will be drawn around the notebook pages.
This only has a visual effect when the tabs are not shown.
See notebookSetShowTabs
.
setShowTabs
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether to show the tabs for the notebook or not.
setTabDetachable
notebookSetTabDetachable Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> Bool |
|
-> m () |
Sets whether the tab can be detached from notebook
to another
notebook or widget.
Note that 2 notebooks must share a common group identificator
(see notebookSetGroupName
) to allow automatic tabs
interchange between them.
If you want a widget to interact with a notebook through DnD (i.e.: accept dragged tabs from it) it must be set as a drop destination and accept the target “GTK_NOTEBOOK_TAB”. The notebook will fill the selection with a GtkWidget** pointing to the child widget that corresponds to the dropped tab.
Note that you should use notebookDetachTab
instead
of containerRemove
if you want to remove the tab from
the source notebook as part of accepting a drop. Otherwise,
the source notebook will think that the dragged tab was
removed from underneath the ongoing drag operation, and
will initiate a drag cancel animation.
C code
static void on_drag_data_received (GtkWidget *widget, GdkDragContext *context, gint x, gint y, GtkSelectionData *data, guint info, guint time, gpointer user_data) { GtkWidget *notebook; GtkWidget **child; notebook = gtk_drag_get_source_widget (context); child = (void*) gtk_selection_data_get_data (data); process_widget (*child); gtk_notebook_detach_tab (GTK_NOTEBOOK (notebook), *child); }
If you want a notebook to accept drags from other widgets, you will have to set your own DnD code to do it.
Since: 2.10
setTabLabel
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b, IsWidget c) | |
=> a |
|
-> b |
|
-> Maybe c |
|
-> m () |
Changes the tab label for child
.
If Nothing
is specified for tabLabel
, then the page will
have the label “page N”.
setTabLabelText
notebookSetTabLabelText Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> Text |
|
-> m () |
Creates a new label and sets it as the tab label for the page
containing child
.
setTabPos
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> PositionType |
|
-> m () |
Sets the edge at which the tabs for switching pages in the notebook are drawn.
setTabReorderable
notebookSetTabReorderable Source #
Arguments
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> Bool |
|
-> m () |
Sets whether the notebook tab can be reordered via drag and drop or not.
Since: 2.10
Properties
enablePopup
constructNotebookEnablePopup :: IsNotebook o => Bool -> IO (GValueConstruct o) Source #
getNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
setNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
groupName
clearNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m () Source #
constructNotebookGroupName :: IsNotebook o => Text -> IO (GValueConstruct o) Source #
getNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m (Maybe Text) Source #
setNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> Text -> m () Source #
page
constructNotebookPage :: IsNotebook o => Int32 -> IO (GValueConstruct o) Source #
getNotebookPage :: (MonadIO m, IsNotebook o) => o -> m Int32 Source #
setNotebookPage :: (MonadIO m, IsNotebook o) => o -> Int32 -> m () Source #
scrollable
constructNotebookScrollable :: IsNotebook o => Bool -> IO (GValueConstruct o) Source #
getNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
setNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
showBorder
constructNotebookShowBorder :: IsNotebook o => Bool -> IO (GValueConstruct o) Source #
getNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
setNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
showTabs
constructNotebookShowTabs :: IsNotebook o => Bool -> IO (GValueConstruct o) Source #
getNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
setNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
tabPos
constructNotebookTabPos :: IsNotebook o => PositionType -> IO (GValueConstruct o) Source #
getNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> m PositionType Source #
setNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> PositionType -> m () Source #
Signals
changeCurrentPage
afterNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> NotebookChangeCurrentPageCallback -> m SignalHandlerId Source #
mk_NotebookChangeCurrentPageCallback :: C_NotebookChangeCurrentPageCallback -> IO (FunPtr C_NotebookChangeCurrentPageCallback) Source #
onNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> NotebookChangeCurrentPageCallback -> m SignalHandlerId Source #
wrap_NotebookChangeCurrentPageCallback :: NotebookChangeCurrentPageCallback -> Ptr () -> Int32 -> Ptr () -> IO CInt Source #
createWindow
type C_NotebookCreateWindowCallback = Ptr () -> Ptr Widget -> Int32 -> Int32 -> Ptr () -> IO (Ptr Notebook) Source #
afterNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> NotebookCreateWindowCallback -> m SignalHandlerId Source #
mk_NotebookCreateWindowCallback :: C_NotebookCreateWindowCallback -> IO (FunPtr C_NotebookCreateWindowCallback) Source #
onNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> NotebookCreateWindowCallback -> m SignalHandlerId Source #
wrap_NotebookCreateWindowCallback :: NotebookCreateWindowCallback -> Ptr () -> Ptr Widget -> Int32 -> Int32 -> Ptr () -> IO (Ptr Notebook) Source #
focusTab
type NotebookFocusTabCallback = NotebookTab -> IO Bool Source #
afterNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> NotebookFocusTabCallback -> m SignalHandlerId Source #
mk_NotebookFocusTabCallback :: C_NotebookFocusTabCallback -> IO (FunPtr C_NotebookFocusTabCallback) Source #
onNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> NotebookFocusTabCallback -> m SignalHandlerId Source #
wrap_NotebookFocusTabCallback :: NotebookFocusTabCallback -> Ptr () -> CUInt -> Ptr () -> IO CInt Source #
moveFocusOut
type NotebookMoveFocusOutCallback = DirectionType -> IO () Source #
afterNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> NotebookMoveFocusOutCallback -> m SignalHandlerId Source #
mk_NotebookMoveFocusOutCallback :: C_NotebookMoveFocusOutCallback -> IO (FunPtr C_NotebookMoveFocusOutCallback) Source #
onNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> NotebookMoveFocusOutCallback -> m SignalHandlerId Source #
wrap_NotebookMoveFocusOutCallback :: NotebookMoveFocusOutCallback -> Ptr () -> CUInt -> Ptr () -> IO () Source #
pageAdded
afterNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> NotebookPageAddedCallback -> m SignalHandlerId Source #
mk_NotebookPageAddedCallback :: C_NotebookPageAddedCallback -> IO (FunPtr C_NotebookPageAddedCallback) Source #
onNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> NotebookPageAddedCallback -> m SignalHandlerId Source #
wrap_NotebookPageAddedCallback :: NotebookPageAddedCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO () Source #
pageRemoved
afterNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> NotebookPageRemovedCallback -> m SignalHandlerId Source #
mk_NotebookPageRemovedCallback :: C_NotebookPageRemovedCallback -> IO (FunPtr C_NotebookPageRemovedCallback) Source #
onNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> NotebookPageRemovedCallback -> m SignalHandlerId Source #
wrap_NotebookPageRemovedCallback :: NotebookPageRemovedCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO () Source #
pageReordered
afterNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> NotebookPageReorderedCallback -> m SignalHandlerId Source #
mk_NotebookPageReorderedCallback :: C_NotebookPageReorderedCallback -> IO (FunPtr C_NotebookPageReorderedCallback) Source #
onNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> NotebookPageReorderedCallback -> m SignalHandlerId Source #
wrap_NotebookPageReorderedCallback :: NotebookPageReorderedCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO () Source #
reorderTab
type NotebookReorderTabCallback = DirectionType -> Bool -> IO Bool Source #
afterNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> NotebookReorderTabCallback -> m SignalHandlerId Source #
mk_NotebookReorderTabCallback :: C_NotebookReorderTabCallback -> IO (FunPtr C_NotebookReorderTabCallback) Source #
onNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> NotebookReorderTabCallback -> m SignalHandlerId Source #
wrap_NotebookReorderTabCallback :: NotebookReorderTabCallback -> Ptr () -> CUInt -> CInt -> Ptr () -> IO CInt Source #
selectPage
afterNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> NotebookSelectPageCallback -> m SignalHandlerId Source #
mk_NotebookSelectPageCallback :: C_NotebookSelectPageCallback -> IO (FunPtr C_NotebookSelectPageCallback) Source #
onNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> NotebookSelectPageCallback -> m SignalHandlerId Source #
wrap_NotebookSelectPageCallback :: NotebookSelectPageCallback -> Ptr () -> CInt -> Ptr () -> IO CInt Source #
switchPage
afterNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> NotebookSwitchPageCallback -> m SignalHandlerId Source #
mk_NotebookSwitchPageCallback :: C_NotebookSwitchPageCallback -> IO (FunPtr C_NotebookSwitchPageCallback) Source #
onNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> NotebookSwitchPageCallback -> m SignalHandlerId Source #
wrap_NotebookSwitchPageCallback :: NotebookSwitchPageCallback -> Ptr () -> Ptr Widget -> Word32 -> Ptr () -> IO () Source #