gi-gtk-3.0.36: Gtk bindings
CopyrightWill Thompson Iñaki García Etxebarria and Jonas Platte
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellNone
LanguageHaskell2010

GI.Gtk.Objects.HeaderBar

Description

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

Exported types

newtype HeaderBar Source #

Memory-managed wrapper type.

class (GObject o, IsDescendantOf HeaderBar o) => IsHeaderBar o Source #

Type class for types which can be safely cast to HeaderBar, for instance with toHeaderBar.

Instances

Instances details
(GObject o, IsDescendantOf HeaderBar o) => IsHeaderBar o Source # 
Instance details

Defined in GI.Gtk.Objects.HeaderBar

toHeaderBar :: (MonadIO m, IsHeaderBar o) => o -> m HeaderBar Source #

Cast to HeaderBar, for types for which this is known to be safe. For general casts, use castTo.

Methods

Overloaded methods

getCustomTitle

headerBarGetCustomTitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> m (Maybe Widget)

Returns: the custom title widget of the header, or Nothing if none has been set explicitly.

Retrieves the custom title widget of the header. See headerBarSetCustomTitle.

Since: 3.10

getDecorationLayout

headerBarGetDecorationLayout Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> m Text

Returns: the decoration layout

Gets the decoration layout set with headerBarSetDecorationLayout.

Since: 3.12

getHasSubtitle

headerBarGetHasSubtitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> m Bool

Returns: True if the header bar reserves space for a subtitle

Retrieves whether the header bar reserves space for a subtitle, regardless if one is currently set or not.

Since: 3.12

getShowCloseButton

headerBarGetShowCloseButton Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> m Bool

Returns: True if the decorations are shown

Returns whether this header bar shows the standard window decorations.

Since: 3.10

getSubtitle

headerBarGetSubtitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> m (Maybe Text)

Returns: the subtitle of the header, or Nothing if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.

Retrieves the subtitle of the header. See headerBarSetSubtitle.

Since: 3.10

getTitle

headerBarGetTitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> m (Maybe Text)

Returns: the title of the header, or Nothing if none has been set explicitly. The returned string is owned by the widget and must not be modified or freed.

Retrieves the title of the header. See headerBarSetTitle.

Since: 3.10

new

headerBarNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m HeaderBar

Returns: a new HeaderBar

Creates a new HeaderBar widget.

Since: 3.10

packEnd

headerBarPackEnd Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) 
=> a

bar: A HeaderBar

-> b

child: the Widget to be added to bar

-> m () 

Adds child to bar, packed with reference to the end of the bar.

Since: 3.10

packStart

headerBarPackStart Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) 
=> a

bar: A HeaderBar

-> b

child: the Widget to be added to bar

-> m () 

Adds child to bar, packed with reference to the start of the bar.

Since: 3.10

setCustomTitle

headerBarSetCustomTitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a, IsWidget b) 
=> a

bar: a HeaderBar

-> Maybe b

titleWidget: a custom widget to use for a title

-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> Maybe Text

layout: a decoration layout, or Nothing to unset the layout

-> 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 #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> Bool

setting: True to reserve space for a subtitle

-> m () 

Sets whether the header bar should reserve space for a subtitle, even if none is currently set.

Since: 3.12

setShowCloseButton

headerBarSetShowCloseButton Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> Bool

setting: True to show standard window decorations

-> m () 

Sets whether this header bar shows the standard window decorations, including close, maximize, and minimize.

Since: 3.10

setSubtitle

headerBarSetSubtitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> Maybe Text

subtitle: a subtitle, or Nothing

-> 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

headerBarSetTitle Source #

Arguments

:: (HasCallStack, MonadIO m, IsHeaderBar a) 
=> a

bar: a HeaderBar

-> Maybe Text

title: a title, or Nothing

-> 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, MonadIO m, IsWidget a) => a -> m (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, MonadIO m) => Text -> m (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

Set to True if HeaderBar:decoration-layout is set.

Since: 3.12

constructHeaderBarDecorationLayoutSet :: (IsHeaderBar o, MonadIO m) => Bool -> m (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, MonadIO m) => Bool -> m (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, MonadIO m) => Bool -> m (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, MonadIO m) => Int32 -> m (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, MonadIO m) => Text -> m (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, MonadIO m) => Text -> m (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 ]