Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
- Exported types
- Methods
- appendPage
- appendPageMenu
- detachTab
- getActionWidget
- getCurrentPage
- getGroupName
- getMenuLabel
- getMenuLabelText
- getNPages
- getNthPage
- getPage
- getPages
- getScrollable
- getShowBorder
- getShowTabs
- getTabDetachable
- getTabLabel
- getTabLabelText
- getTabPos
- getTabReorderable
- 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
GtkNotebook
is a container whose children are pages switched
between using tabs.
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
).
GtkNotebook as GtkBuildable
The GtkNotebook
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.
An example of a UI definition fragment with GtkNotebook
:
xml code
<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>
Shortcuts and Gestures
GtkNotebook
supports the following keyboard shortcuts:
- <kbd>Shift</kbd>+<kbd>F10</kbd> or <kbd>Menu</kbd> opens the context menu.
- <kbd>Home</kbd> moves the focus to the first tab.
- <kbd>End</kbd> moves the focus to the last tab.
Additionally, the following signals have default keybindings:
- Notebook::changeCurrentPage
- Notebook::focusTab
- Notebook::moveFocusOut
- Notebook::reorderTab
- Notebook::selectPage
Tabs support drag-and-drop between notebooks sharing the same group-name
,
or to new windows by handling the ::create-window
signal.
Actions
GtkNotebook
defines a set of built-in actions:
menu.popup
opens the tabs context menu.
CSS nodes
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, regardless of text direction.
Accessibility
GtkNotebook
uses the following roles:
AccessibleRoleGroup
for the notebook widgetAccessibleRoleTabList
for the list of tabsAccessibleRoleTab
role for each tabAccessibleRoleTabPanel
for each page
Synopsis
- newtype Notebook = Notebook (ManagedPtr Notebook)
- class (GObject o, IsDescendantOf Notebook o) => IsNotebook o
- toNotebook :: (MonadIO m, IsNotebook o) => o -> m 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)
- notebookGetPage :: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) => a -> b -> m NotebookPage
- notebookGetPages :: (HasCallStack, MonadIO m, IsNotebook a) => a -> m ListModel
- 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
- 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
- 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, MonadIO m) => Bool -> m (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, MonadIO m) => Text -> m (GValueConstruct o)
- getNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m (Maybe Text)
- setNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> Text -> m ()
- constructNotebookPage :: (IsNotebook o, MonadIO m) => Int32 -> m (GValueConstruct o)
- getNotebookPage :: (MonadIO m, IsNotebook o) => o -> m Int32
- setNotebookPage :: (MonadIO m, IsNotebook o) => o -> Int32 -> m ()
- getNotebookPages :: (MonadIO m, IsNotebook o) => o -> m (Maybe ListModel)
- constructNotebookScrollable :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o)
- getNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- constructNotebookShowBorder :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o)
- getNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- constructNotebookShowTabs :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o)
- getNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> m Bool
- setNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> Bool -> m ()
- constructNotebookTabPos :: (IsNotebook o, MonadIO m) => PositionType -> m (GValueConstruct o)
- getNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> m PositionType
- setNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> PositionType -> m ()
- type NotebookChangeCurrentPageCallback = Int32 -> IO Bool
- afterNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookChangeCurrentPageCallback) -> m SignalHandlerId
- onNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookChangeCurrentPageCallback) -> m SignalHandlerId
- type NotebookCreateWindowCallback = Widget -> IO (Maybe Notebook)
- afterNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookCreateWindowCallback) -> m SignalHandlerId
- onNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookCreateWindowCallback) -> m SignalHandlerId
- type NotebookFocusTabCallback = NotebookTab -> IO Bool
- afterNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookFocusTabCallback) -> m SignalHandlerId
- onNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookFocusTabCallback) -> m SignalHandlerId
- type NotebookMoveFocusOutCallback = DirectionType -> IO ()
- afterNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookMoveFocusOutCallback) -> m SignalHandlerId
- onNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookMoveFocusOutCallback) -> m SignalHandlerId
- type NotebookPageAddedCallback = Widget -> Word32 -> IO ()
- afterNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageAddedCallback) -> m SignalHandlerId
- onNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageAddedCallback) -> m SignalHandlerId
- type NotebookPageRemovedCallback = Widget -> Word32 -> IO ()
- afterNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageRemovedCallback) -> m SignalHandlerId
- onNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageRemovedCallback) -> m SignalHandlerId
- type NotebookPageReorderedCallback = Widget -> Word32 -> IO ()
- afterNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageReorderedCallback) -> m SignalHandlerId
- onNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageReorderedCallback) -> m SignalHandlerId
- type NotebookReorderTabCallback = DirectionType -> Bool -> IO Bool
- afterNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookReorderTabCallback) -> m SignalHandlerId
- onNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookReorderTabCallback) -> m SignalHandlerId
- type NotebookSelectPageCallback = Bool -> IO Bool
- afterNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSelectPageCallback) -> m SignalHandlerId
- onNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSelectPageCallback) -> m SignalHandlerId
- type NotebookSwitchPageCallback = Widget -> Word32 -> IO ()
- afterNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSwitchPageCallback) -> m SignalHandlerId
- onNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSwitchPageCallback) -> m SignalHandlerId
Exported types
Memory-managed wrapper type.
Instances
Eq Notebook Source # | |
GObject Notebook Source # | |
Defined in GI.Gtk.Objects.Notebook | |
ManagedPtrNewtype Notebook Source # | |
Defined in GI.Gtk.Objects.Notebook toManagedPtr :: Notebook -> ManagedPtr Notebook # | |
TypedObject Notebook Source # | |
Defined in GI.Gtk.Objects.Notebook | |
HasParentTypes Notebook Source # | |
Defined in GI.Gtk.Objects.Notebook | |
IsGValue (Maybe Notebook) Source # | Convert |
Defined in GI.Gtk.Objects.Notebook | |
type ParentTypes Notebook Source # | |
Defined in GI.Gtk.Objects.Notebook |
class (GObject o, IsDescendantOf Notebook o) => IsNotebook o Source #
Type class for types which can be safely cast to Notebook
, for instance with toNotebook
.
Instances
(GObject o, IsDescendantOf Notebook o) => IsNotebook o Source # | |
Defined in GI.Gtk.Objects.Notebook |
toNotebook :: (MonadIO m, IsNotebook o) => o -> m Notebook Source #
Methods
Click to display all available methods, including inherited ones
Methods
actionSetEnabled, activate, activateAction, activateDefault, addController, addCssClass, addMnemonicLabel, addTickCallback, allocate, announce, appendPage, appendPageMenu, bindProperty, bindPropertyFull, childFocus, computeBounds, computeExpand, computePoint, computeTransform, contains, createPangoContext, createPangoLayout, detachTab, disposeTemplate, dragCheckThreshold, errorBell, forceFloating, freezeNotify, getv, grabFocus, hasCssClass, hasDefault, hasFocus, hasVisibleFocus, hide, inDestruction, initTemplate, insertActionGroup, insertAfter, insertBefore, insertPage, insertPageMenu, isAncestor, isDrawable, isFloating, isFocus, isSensitive, isVisible, keynavFailed, listMnemonicLabels, map, measure, mnemonicActivate, nextPage, notify, notifyByPspec, observeChildren, observeControllers, pageNum, pick, popupDisable, popupEnable, prependPage, prependPageMenu, prevPage, queueAllocate, queueDraw, queueResize, realize, ref, refSink, removeController, removeCssClass, removeMnemonicLabel, removePage, removeTickCallback, reorderChild, resetProperty, resetRelation, resetState, runDispose, shouldLayout, show, sizeAllocate, snapshotChild, stealData, stealQdata, thawNotify, translateCoordinates, triggerTooltipQuery, unmap, unparent, unrealize, unref, unsetStateFlags, updateNextAccessibleSibling, updateProperty, updateRelation, updateState, watchClosure.
Getters
getAccessibleParent, getAccessibleRole, getActionWidget, getAllocatedBaseline, getAllocatedHeight, getAllocatedWidth, getAllocation, getAncestor, getAtContext, getBaseline, getBounds, getBuildableId, getCanFocus, getCanTarget, getChildVisible, getClipboard, getColor, getCssClasses, getCssName, getCurrentPage, getCursor, getData, getDirection, getDisplay, getFirstAccessibleChild, getFirstChild, getFocusChild, getFocusOnClick, getFocusable, getFontMap, getFontOptions, getFrameClock, getGroupName, getHalign, getHasTooltip, getHeight, getHexpand, getHexpandSet, getLastChild, getLayoutManager, getMapped, getMarginBottom, getMarginEnd, getMarginStart, getMarginTop, getMenuLabel, getMenuLabelText, getNPages, getName, getNative, getNextAccessibleSibling, getNextSibling, getNthPage, getOpacity, getOverflow, getPage, getPages, getPangoContext, getParent, getPlatformState, getPreferredSize, getPrevSibling, getPrimaryClipboard, getProperty, getQdata, getRealized, getReceivesDefault, getRequestMode, getRoot, getScaleFactor, getScrollable, getSensitive, getSettings, getShowBorder, getShowTabs, getSize, getSizeRequest, getStateFlags, getStyleContext, getTabDetachable, getTabLabel, getTabLabelText, getTabPos, getTabReorderable, getTemplateChild, getTooltipMarkup, getTooltipText, getValign, getVexpand, getVexpandSet, getVisible, getWidth.
Setters
setAccessibleParent, setActionWidget, setCanFocus, setCanTarget, setChildVisible, setCssClasses, setCurrentPage, setCursor, setCursorFromName, setData, setDataFull, setDirection, setFocusChild, setFocusOnClick, setFocusable, setFontMap, setFontOptions, setGroupName, setHalign, setHasTooltip, setHexpand, setHexpandSet, setLayoutManager, setMarginBottom, setMarginEnd, setMarginStart, setMarginTop, setMenuLabel, setMenuLabelText, setName, setOpacity, setOverflow, setParent, setProperty, setReceivesDefault, setScrollable, setSensitive, setShowBorder, setShowTabs, setSizeRequest, setStateFlags, setTabDetachable, setTabLabel, setTabLabelText, setTabPos, setTabReorderable, setTooltipMarkup, setTooltipText, setValign, setVexpand, setVexpandSet, setVisible.
appendPage
:: (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 #
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Removes the child from the notebook.
This function is very similar to notebookRemovePage
,
but additionally informs the notebook that the removal
is happening as part of a tab DND operation, which should
not be cancelled.
getActionWidget
notebookGetActionWidget Source #
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> PackType |
|
-> m (Maybe Widget) | Returns: The action widget
with the given |
Gets one of the action widgets.
getCurrentPage
notebookGetCurrentPage Source #
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m (Maybe Text) | Returns: the group name,
or |
Gets the current group name for notebook
.
getMenuLabel
:: (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 #
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Int32 | Returns: the number of pages in the notebook |
Gets the number of pages in a notebook.
getNthPage
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Int32 |
|
-> m (Maybe Widget) | Returns: the child widget, or |
Returns the child widget contained in page number pageNum
.
getPage
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m NotebookPage | Returns: the |
Returns the GtkNotebookPage
for child
.
getPages
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m ListModel | Returns: a
|
Returns a GListModel
that contains the pages of the notebook.
This can be used to keep an up-to-date view. The model also
implements SelectionModel
and can be used to track
and modify the visible page.
getScrollable
notebookGetScrollable Source #
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the tab label area has arrows for scrolling.
getShowBorder
notebookGetShowBorder Source #
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether a bevel will be drawn around the notebook pages.
getShowTabs
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether the tabs of the notebook are shown.
getTabDetachable
notebookGetTabDetachable Source #
:: (HasCallStack, MonadIO m, IsNotebook a, IsWidget b) | |
=> a |
|
-> b |
|
-> m Bool | Returns: |
Returns whether the tab contents can be detached from notebook
.
getTabLabel
:: (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 #
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m PositionType | Returns: the edge at which the tabs are drawn |
Gets the edge at which the tabs are drawn.
getTabReorderable
notebookGetTabReorderable Source #
:: (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.
insertPage
:: (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 #
:: (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
:: (HasCallStack, MonadIO m) | |
=> m Notebook | Returns: the newly created |
Creates a new GtkNotebook
widget with no pages.
nextPage
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Switches to the next page.
Nothing happens if the current page is the last page.
pageNum
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Disables the popup menu.
popupEnable
:: (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
:: (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 #
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> m () |
Switches to the previous page.
Nothing happens if the current page is the first page.
removePage
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Int32 |
|
-> m () |
Removes a page from the notebook given its index in the notebook.
reorderChild
:: (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 #
:: (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 GtkBox
if you need to pack
more than one widget on the same side.
setCurrentPage
notebookSetCurrentPage Source #
:: (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
:: (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.
setMenuLabel
:: (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 #
:: (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 #
:: (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 #
:: (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.
setShowTabs
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether to show the tabs for the notebook or not.
setTabDetachable
notebookSetTabDetachable Source #
:: (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 two notebooks must share a common group identifier
(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 by adding to it a DropTarget
controller that accepts
the GType GTK_TYPE_NOTEBOOK_PAGE
. The :value
of said drop target will be
preloaded with a NotebookPage
object that corresponds to the
dropped tab, so you can process the value via ::accept
or ::drop
signals.
Note that you should use notebookDetachTab
instead
of notebookRemovePage
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, GdkDrop *drop, GtkSelectionData *data, guint time, gpointer user_data) { GtkDrag *drag; GtkWidget *notebook; GtkWidget **child; drag = gtk_drop_get_drag (drop); notebook = g_object_get_data (drag, "gtk-notebook-drag-origin"); 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.
setTabLabel
:: (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 #
:: (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
:: (HasCallStack, MonadIO m, IsNotebook a) | |
=> a |
|
-> PositionType |
|
-> m () |
Sets the edge at which the tabs are drawn.
setTabReorderable
notebookSetTabReorderable Source #
:: (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.
Properties
enablePopup
If True
, pressing the right mouse button on the notebook shows a page switching menu.
constructNotebookEnablePopup :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “enable-popup
” property. This is rarely needed directly, but it is used by new
.
getNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
Get the value of the “enable-popup
” property.
When overloading is enabled, this is equivalent to
get
notebook #enablePopup
setNotebookEnablePopup :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
Set the value of the “enable-popup
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #enablePopup:=
value ]
groupName
Group name for tab drag and drop.
clearNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m () Source #
Set the value of the “group-name
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#groupName
constructNotebookGroupName :: (IsNotebook o, MonadIO m) => Text -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “group-name
” property. This is rarely needed directly, but it is used by new
.
getNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> m (Maybe Text) Source #
Get the value of the “group-name
” property.
When overloading is enabled, this is equivalent to
get
notebook #groupName
setNotebookGroupName :: (MonadIO m, IsNotebook o) => o -> Text -> m () Source #
Set the value of the “group-name
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #groupName:=
value ]
page
The index of the current page.
constructNotebookPage :: (IsNotebook o, MonadIO m) => Int32 -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “page
” property. This is rarely needed directly, but it is used by new
.
getNotebookPage :: (MonadIO m, IsNotebook o) => o -> m Int32 Source #
Get the value of the “page
” property.
When overloading is enabled, this is equivalent to
get
notebook #page
setNotebookPage :: (MonadIO m, IsNotebook o) => o -> Int32 -> m () Source #
Set the value of the “page
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #page:=
value ]
pages
A selection model with the pages.
getNotebookPages :: (MonadIO m, IsNotebook o) => o -> m (Maybe ListModel) Source #
Get the value of the “pages
” property.
When overloading is enabled, this is equivalent to
get
notebook #pages
scrollable
If True
, scroll arrows are added if there are too many pages to fit.
constructNotebookScrollable :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “scrollable
” property. This is rarely needed directly, but it is used by new
.
getNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
Get the value of the “scrollable
” property.
When overloading is enabled, this is equivalent to
get
notebook #scrollable
setNotebookScrollable :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
Set the value of the “scrollable
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #scrollable:=
value ]
showBorder
Whether the border should be shown.
constructNotebookShowBorder :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “show-border
” property. This is rarely needed directly, but it is used by new
.
getNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
Get the value of the “show-border
” property.
When overloading is enabled, this is equivalent to
get
notebook #showBorder
setNotebookShowBorder :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
Set the value of the “show-border
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #showBorder:=
value ]
showTabs
Whether tabs should be shown.
constructNotebookShowTabs :: (IsNotebook o, MonadIO m) => Bool -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “show-tabs
” property. This is rarely needed directly, but it is used by new
.
getNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> m Bool Source #
Get the value of the “show-tabs
” property.
When overloading is enabled, this is equivalent to
get
notebook #showTabs
setNotebookShowTabs :: (MonadIO m, IsNotebook o) => o -> Bool -> m () Source #
Set the value of the “show-tabs
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #showTabs:=
value ]
tabPos
Which side of the notebook holds the tabs.
constructNotebookTabPos :: (IsNotebook o, MonadIO m) => PositionType -> m (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “tab-pos
” property. This is rarely needed directly, but it is used by new
.
getNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> m PositionType Source #
Get the value of the “tab-pos
” property.
When overloading is enabled, this is equivalent to
get
notebook #tabPos
setNotebookTabPos :: (MonadIO m, IsNotebook o) => o -> PositionType -> m () Source #
Set the value of the “tab-pos
” property.
When overloading is enabled, this is equivalent to
set
notebook [ #tabPos:=
value ]
Signals
changeCurrentPage
type NotebookChangeCurrentPageCallback Source #
Emitted when the current page should be changed.
The default bindings for this signal are <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>PgUp</kbd>, <kbd>Ctrl</kbd>+<kbd>Alt</kbd>+<kbd>PgDn</kbd>, <kbd>Ctrl</kbd>+<kbd>PgUp</kbd> and <kbd>Ctrl</kbd>+<kbd>PgDn</kbd>.
afterNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookChangeCurrentPageCallback) -> m SignalHandlerId Source #
Connect a signal handler for the changeCurrentPage signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #changeCurrentPage callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookChangeCurrentPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookChangeCurrentPageCallback) -> m SignalHandlerId Source #
Connect a signal handler for the changeCurrentPage signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #changeCurrentPage callback
createWindow
type NotebookCreateWindowCallback Source #
= Widget |
|
-> IO (Maybe Notebook) | Returns: a |
The createWindow 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
GtkNotebook
:group-name ).
afterNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookCreateWindowCallback) -> m SignalHandlerId Source #
Connect a signal handler for the createWindow signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #createWindow callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookCreateWindow :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookCreateWindowCallback) -> m SignalHandlerId Source #
Connect a signal handler for the createWindow signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #createWindow callback
focusTab
type NotebookFocusTabCallback Source #
= NotebookTab |
|
-> IO Bool | Returns: whether the tab has been focused |
Emitted when a tab should be focused.
afterNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookFocusTabCallback) -> m SignalHandlerId Source #
Connect a signal handler for the focusTab signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #focusTab callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookFocusTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookFocusTabCallback) -> m SignalHandlerId Source #
Connect a signal handler for the focusTab signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #focusTab callback
moveFocusOut
type NotebookMoveFocusOutCallback Source #
= DirectionType |
|
-> IO () |
Emitted when focus was moved out.
The default bindings for this signal are <kbd>Ctrl</kbd>+<kbd>Tab</kbd>, <kbd>Ctrl</kbd>+<kbd>Shift</kbd>+<kbd>Tab</kbd>, <kbd>Ctrl</kbd>+<kbd>←</kbd>, <kbd>Ctrl</kbd>+<kbd>→</kbd>, <kbd>Ctrl</kbd>+<kbd>↑</kbd> and <kbd>Ctrl</kbd>+<kbd>↓</kbd>.
afterNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookMoveFocusOutCallback) -> m SignalHandlerId Source #
Connect a signal handler for the moveFocusOut signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #moveFocusOut callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookMoveFocusOut :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookMoveFocusOutCallback) -> m SignalHandlerId Source #
Connect a signal handler for the moveFocusOut signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #moveFocusOut callback
pageAdded
type NotebookPageAddedCallback Source #
the pageAdded signal is emitted in the notebook right after a page is added to the notebook.
afterNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageAddedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageAdded signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #pageAdded callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookPageAdded :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageAddedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageAdded signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #pageAdded callback
pageRemoved
type NotebookPageRemovedCallback Source #
the pageRemoved signal is emitted in the notebook right after a page is removed from the notebook.
afterNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageRemovedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageRemoved signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #pageRemoved callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookPageRemoved :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageRemovedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageRemoved signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #pageRemoved callback
pageReordered
type NotebookPageReorderedCallback Source #
the pageReordered signal is emitted in the notebook right after a page has been reordered.
afterNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageReorderedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageReordered signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #pageReordered callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookPageReordered :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookPageReorderedCallback) -> m SignalHandlerId Source #
Connect a signal handler for the pageReordered signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #pageReordered callback
reorderTab
type NotebookReorderTabCallback Source #
= DirectionType |
|
-> Bool |
|
-> IO Bool | Returns: whether the tab was moved. |
Emitted when the tab should be reordered.
The default bindings for this signal are <kbd>Alt</kbd>+<kbd>Home</kbd>, <kbd>Alt</kbd>+<kbd>End</kbd>, <kbd>Alt</kbd>+<kbd>PgUp</kbd>, <kbd>Alt</kbd>+<kbd>PgDn</kbd>, <kbd>Alt</kbd>+<kbd>←</kbd>, <kbd>Alt</kbd>+<kbd>→</kbd>, <kbd>Alt</kbd>+<kbd>↑</kbd> and <kbd>Alt</kbd>+<kbd>↓</kbd>.
afterNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookReorderTabCallback) -> m SignalHandlerId Source #
Connect a signal handler for the reorderTab signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #reorderTab callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookReorderTab :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookReorderTabCallback) -> m SignalHandlerId Source #
Connect a signal handler for the reorderTab signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #reorderTab callback
selectPage
type NotebookSelectPageCallback Source #
Emitted when a page should be selected.
The default binding for this signal is <kbd>␣</kbd>.
afterNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSelectPageCallback) -> m SignalHandlerId Source #
Connect a signal handler for the selectPage signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #selectPage callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookSelectPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSelectPageCallback) -> m SignalHandlerId Source #
Connect a signal handler for the selectPage signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #selectPage callback
switchPage
type NotebookSwitchPageCallback Source #
Emitted when the user or a function changes the current page.
afterNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSwitchPageCallback) -> m SignalHandlerId Source #
Connect a signal handler for the switchPage signal, to be run after the default handler. When overloading is enabled, this is equivalent to
after
notebook #switchPage callback
By default the object invoking the signal is not passed to the callback.
If you need to access it, you can use the implit ?self
parameter.
Note that this requires activating the ImplicitParams
GHC extension.
onNotebookSwitchPage :: (IsNotebook a, MonadIO m) => a -> ((?self :: a) => NotebookSwitchPageCallback) -> m SignalHandlerId Source #
Connect a signal handler for the switchPage signal, to be run before the default handler. When overloading is enabled, this is equivalent to
on
notebook #switchPage callback