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 |
GtkHeaderBar is similar to a horizontal Box
. It allows children to
be placed at the start or the end. In addition, it allows a title and
subtitle to be displayed. The title will be centered with respect to
the width of the box, even if the children at either side take up
different amounts of space. The height of the titlebar will be
set to provide sufficient space for the subtitle, even if none is
currently set. If a subtitle is not needed, the space reservation
can be turned off with headerBarSetHasSubtitle
.
GtkHeaderBar can add typical window frame controls, such as minimize, maximize and close buttons, or the window icon.
For these reasons, GtkHeaderBar is the natural choice for use as the custom
titlebar widget of a Window
(see windowSetTitlebar
), as it gives
features typical of titlebars while allowing the addition of child widgets.
Synopsis
- newtype HeaderBar = HeaderBar (ManagedPtr HeaderBar)
- class GObject o => IsHeaderBar o
- toHeaderBar :: (MonadIO m, IsHeaderBar o) => o -> m HeaderBar
- noHeaderBar :: Maybe HeaderBar
- headerBarGetCustomTitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> m (Maybe Widget)
- headerBarGetDecorationLayout :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> m Text
- headerBarGetHasSubtitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> m Bool
- headerBarGetShowCloseButton :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> m Bool
- headerBarGetSubtitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> m (Maybe Text)
- headerBarGetTitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> m (Maybe Text)
- headerBarNew :: (HasCallStack, MonadIO m) => m HeaderBar
- headerBarPackEnd :: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) => a -> b -> m ()
- headerBarPackStart :: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) => a -> b -> m ()
- headerBarSetCustomTitle :: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) => a -> Maybe b -> m ()
- headerBarSetDecorationLayout :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> Maybe Text -> m ()
- headerBarSetHasSubtitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> Bool -> m ()
- headerBarSetShowCloseButton :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> Bool -> m ()
- headerBarSetSubtitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> Maybe Text -> m ()
- headerBarSetTitle :: (HasCallStack, MonadIO m, IsHeaderBar a) => a -> Maybe Text -> m ()
- clearHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o) => o -> m ()
- constructHeaderBarCustomTitle :: (IsHeaderBar o, IsWidget a) => a -> IO (GValueConstruct o)
- getHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Widget)
- setHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o, IsWidget a) => o -> a -> m ()
- clearHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> m ()
- constructHeaderBarDecorationLayout :: IsHeaderBar o => Text -> IO (GValueConstruct o)
- getHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> m Text
- setHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> Text -> m ()
- constructHeaderBarDecorationLayoutSet :: IsHeaderBar o => Bool -> IO (GValueConstruct o)
- getHeaderBarDecorationLayoutSet :: (MonadIO m, IsHeaderBar o) => o -> m Bool
- setHeaderBarDecorationLayoutSet :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m ()
- constructHeaderBarHasSubtitle :: IsHeaderBar o => Bool -> IO (GValueConstruct o)
- getHeaderBarHasSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m Bool
- setHeaderBarHasSubtitle :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m ()
- constructHeaderBarShowCloseButton :: IsHeaderBar o => Bool -> IO (GValueConstruct o)
- getHeaderBarShowCloseButton :: (MonadIO m, IsHeaderBar o) => o -> m Bool
- setHeaderBarShowCloseButton :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m ()
- constructHeaderBarSpacing :: IsHeaderBar o => Int32 -> IO (GValueConstruct o)
- getHeaderBarSpacing :: (MonadIO m, IsHeaderBar o) => o -> m Int32
- setHeaderBarSpacing :: (MonadIO m, IsHeaderBar o) => o -> Int32 -> m ()
- clearHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m ()
- constructHeaderBarSubtitle :: IsHeaderBar o => Text -> IO (GValueConstruct o)
- getHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Text)
- setHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> Text -> m ()
- clearHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> m ()
- constructHeaderBarTitle :: IsHeaderBar o => Text -> IO (GValueConstruct o)
- getHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Text)
- setHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> Text -> m ()
Exported types
Memory-managed wrapper type.
Instances
GObject HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar gobjectType :: HeaderBar -> IO GType # | |
IsImplementorIface HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar | |
IsObject HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar | |
IsBuildable HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar | |
IsContainer HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar | |
IsWidget HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar | |
IsHeaderBar HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar |
class GObject o => IsHeaderBar o Source #
Type class for types which can be safely cast to HeaderBar
, for instance with toHeaderBar
.
Instances
(GObject a, (UnknownAncestorError HeaderBar a :: Constraint)) => IsHeaderBar a Source # | |
Defined in GI.Gtk.Objects.HeaderBar | |
IsHeaderBar HeaderBar Source # | |
Defined in GI.Gtk.Objects.HeaderBar |
toHeaderBar :: (MonadIO m, IsHeaderBar o) => o -> m HeaderBar Source #
Methods
getCustomTitle
headerBarGetCustomTitle Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> m (Maybe Widget) | Returns: the custom title widget
of the header, or |
Retrieves the custom title widget of the header. See
headerBarSetCustomTitle
.
Since: 3.10
getDecorationLayout
headerBarGetDecorationLayout Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> m Text | Returns: the decoration layout |
Gets the decoration layout set with
headerBarSetDecorationLayout
.
Since: 3.12
getHasSubtitle
headerBarGetHasSubtitle Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> m Bool | Returns: |
Retrieves whether the header bar reserves space for a subtitle, regardless if one is currently set or not.
Since: 3.12
getShowCloseButton
headerBarGetShowCloseButton Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> m Bool | Returns: |
Returns whether this header bar shows the standard window decorations.
Since: 3.10
getSubtitle
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> m (Maybe Text) | Returns: the subtitle of the header, or |
Retrieves the subtitle of the header. See headerBarSetSubtitle
.
Since: 3.10
getTitle
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> m (Maybe Text) | Returns: the title of the header, or |
Retrieves the title of the header. See headerBarSetTitle
.
Since: 3.10
new
:: (HasCallStack, MonadIO m) | |
=> m HeaderBar | Returns: a new |
Creates a new HeaderBar
widget.
Since: 3.10
packEnd
:: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Adds child
to bar
, packed with reference to the
end of the bar
.
Since: 3.10
packStart
:: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) | |
=> a |
|
-> b |
|
-> m () |
Adds child
to bar
, packed with reference to the
start of the bar
.
Since: 3.10
setCustomTitle
headerBarSetCustomTitle Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Sets a custom title for the HeaderBar
.
The title should help a user identify the current view. This
supersedes any title set by headerBarSetTitle
or
headerBarSetSubtitle
. To achieve the same style as
the builtin title and subtitle, use the “title” and “subtitle”
style classes.
You should set the custom title to Nothing
, for the header title
label to be visible again.
Since: 3.10
setDecorationLayout
headerBarSetDecorationLayout Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Sets the decoration layout for this header bar, overriding
the Settings
:gtk-decoration-layout
setting.
There can be valid reasons for overriding the setting, such as a header bar design that does not allow for buttons to take room on the right, or only offers room for a single close button. Split header bars are another example for overriding the setting.
The format of the string is button names, separated by commas. A colon separates the buttons that should appear on the left from those on the right. Recognized button names are minimize, maximize, close, icon (the window icon) and menu (a menu button for the fallback app menu).
For example, “menu:minimize,maximize,close” specifies a menu on the left, and minimize, maximize and close buttons on the right.
Since: 3.12
setHasSubtitle
headerBarSetHasSubtitle Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether the header bar should reserve space for a subtitle, even if none is currently set.
Since: 3.12
setShowCloseButton
headerBarSetShowCloseButton Source #
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> Bool |
|
-> m () |
Sets whether this header bar shows the standard window decorations, including close, maximize, and minimize.
Since: 3.10
setSubtitle
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Sets the subtitle of the HeaderBar
. The title should give a user
an additional detail to help him identify the current view.
Note that GtkHeaderBar by default reserves room for the subtitle,
even if none is currently set. If this is not desired, set the
HeaderBar
:has-subtitle
property to False
.
Since: 3.10
setTitle
:: (HasCallStack, MonadIO m, IsHeaderBar a) | |
=> a |
|
-> Maybe Text |
|
-> m () |
Sets the title of the HeaderBar
. The title should help a user
identify the current view. A good title should not include the
application name.
Since: 3.10
Properties
customTitle
No description available in the introspection data.
clearHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o) => o -> m () Source #
Set the value of the “custom-title
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#customTitle
constructHeaderBarCustomTitle :: (IsHeaderBar o, IsWidget a) => a -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “custom-title
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Widget) Source #
Get the value of the “custom-title
” property.
When overloading is enabled, this is equivalent to
get
headerBar #customTitle
setHeaderBarCustomTitle :: (MonadIO m, IsHeaderBar o, IsWidget a) => o -> a -> m () Source #
Set the value of the “custom-title
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #customTitle:=
value ]
decorationLayout
The decoration layout for buttons. If this property is
not set, the Settings
:gtk-decoration-layout
setting
is used.
See headerBarSetDecorationLayout
for information
about the format of this string.
Since: 3.12
clearHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> m () Source #
Set the value of the “decoration-layout
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#decorationLayout
constructHeaderBarDecorationLayout :: IsHeaderBar o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “decoration-layout
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> m Text Source #
Get the value of the “decoration-layout
” property.
When overloading is enabled, this is equivalent to
get
headerBar #decorationLayout
setHeaderBarDecorationLayout :: (MonadIO m, IsHeaderBar o) => o -> Text -> m () Source #
Set the value of the “decoration-layout
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #decorationLayout:=
value ]
decorationLayoutSet
constructHeaderBarDecorationLayoutSet :: IsHeaderBar o => Bool -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “decoration-layout-set
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarDecorationLayoutSet :: (MonadIO m, IsHeaderBar o) => o -> m Bool Source #
Get the value of the “decoration-layout-set
” property.
When overloading is enabled, this is equivalent to
get
headerBar #decorationLayoutSet
setHeaderBarDecorationLayoutSet :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m () Source #
Set the value of the “decoration-layout-set
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #decorationLayoutSet:=
value ]
hasSubtitle
If True
, reserve space for a subtitle, even if none
is currently set.
Since: 3.12
constructHeaderBarHasSubtitle :: IsHeaderBar o => Bool -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “has-subtitle
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarHasSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m Bool Source #
Get the value of the “has-subtitle
” property.
When overloading is enabled, this is equivalent to
get
headerBar #hasSubtitle
setHeaderBarHasSubtitle :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m () Source #
Set the value of the “has-subtitle
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #hasSubtitle:=
value ]
showCloseButton
Whether to show window decorations.
Which buttons are actually shown and where is determined
by the HeaderBar
:decoration-layout
property, and by
the state of the window (e.g. a close button will not be
shown if the window can't be closed).
constructHeaderBarShowCloseButton :: IsHeaderBar o => Bool -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “show-close-button
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarShowCloseButton :: (MonadIO m, IsHeaderBar o) => o -> m Bool Source #
Get the value of the “show-close-button
” property.
When overloading is enabled, this is equivalent to
get
headerBar #showCloseButton
setHeaderBarShowCloseButton :: (MonadIO m, IsHeaderBar o) => o -> Bool -> m () Source #
Set the value of the “show-close-button
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #showCloseButton:=
value ]
spacing
No description available in the introspection data.
constructHeaderBarSpacing :: IsHeaderBar o => Int32 -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “spacing
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarSpacing :: (MonadIO m, IsHeaderBar o) => o -> m Int32 Source #
Get the value of the “spacing
” property.
When overloading is enabled, this is equivalent to
get
headerBar #spacing
setHeaderBarSpacing :: (MonadIO m, IsHeaderBar o) => o -> Int32 -> m () Source #
Set the value of the “spacing
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #spacing:=
value ]
subtitle
No description available in the introspection data.
clearHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m () Source #
Set the value of the “subtitle
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#subtitle
constructHeaderBarSubtitle :: IsHeaderBar o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “subtitle
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Text) Source #
Get the value of the “subtitle
” property.
When overloading is enabled, this is equivalent to
get
headerBar #subtitle
setHeaderBarSubtitle :: (MonadIO m, IsHeaderBar o) => o -> Text -> m () Source #
Set the value of the “subtitle
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #subtitle:=
value ]
title
No description available in the introspection data.
clearHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> m () Source #
Set the value of the “title
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#title
constructHeaderBarTitle :: IsHeaderBar o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “title
” property. This is rarely needed directly, but it is used by new
.
getHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> m (Maybe Text) Source #
Get the value of the “title
” property.
When overloading is enabled, this is equivalent to
get
headerBar #title
setHeaderBarTitle :: (MonadIO m, IsHeaderBar o) => o -> Text -> m () Source #
Set the value of the “title
” property.
When overloading is enabled, this is equivalent to
set
headerBar [ #title:=
value ]