Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
The frame widget is a bin that surrounds its child with a decorative
frame and an optional label. If present, the label is drawn in a gap
in the top side of the frame. The position of the label can be
controlled with frameSetLabelAlign
.
GtkFrame as GtkBuildable
The GtkFrame implementation of the GtkBuildable interface supports placing a child in the label position by specifying “label” as the “type” attribute of a <child> element. A normal content child can be specified without specifying a <child> type attribute.
An example of a UI definition fragment with GtkFrame: > >class="GtkFrame" > type="label" > class="GtkLabel" id="frame-label"/ > /child > child > class="GtkEntry" id="frame-content"/ > /child >/object
CSS nodes
plain code
frame ├── border[.flat] ├── <label widget> ╰── <child>
GtkFrame has a main CSS node named “frame” and a subnode named “border”. The “border” node is used to draw the visible border. You can set the appearance of the border using CSS properties like “border-style” on the “border” node.
The border node can be given the style class “.flat”, which is used by themes
to disable drawing of the border. To do this from code, call
frameSetShadowType
with ShadowTypeNone
to add the “.flat” class or
any other shadow type to remove it.
Synopsis
- newtype Frame = Frame (ManagedPtr Frame)
- class (GObject o, IsDescendantOf Frame o) => IsFrame o
- toFrame :: (MonadIO m, IsFrame o) => o -> m Frame
- noFrame :: Maybe Frame
- frameGetLabel :: (HasCallStack, MonadIO m, IsFrame a) => a -> m (Maybe Text)
- frameGetLabelAlign :: (HasCallStack, MonadIO m, IsFrame a) => a -> m (Float, Float)
- frameGetLabelWidget :: (HasCallStack, MonadIO m, IsFrame a) => a -> m (Maybe Widget)
- frameGetShadowType :: (HasCallStack, MonadIO m, IsFrame a) => a -> m ShadowType
- frameNew :: (HasCallStack, MonadIO m) => Maybe Text -> m Frame
- frameSetLabel :: (HasCallStack, MonadIO m, IsFrame a) => a -> Maybe Text -> m ()
- frameSetLabelAlign :: (HasCallStack, MonadIO m, IsFrame a) => a -> Float -> Float -> m ()
- frameSetLabelWidget :: (HasCallStack, MonadIO m, IsFrame a, IsWidget b) => a -> Maybe b -> m ()
- frameSetShadowType :: (HasCallStack, MonadIO m, IsFrame a) => a -> ShadowType -> m ()
- clearFrameLabel :: (MonadIO m, IsFrame o) => o -> m ()
- constructFrameLabel :: IsFrame o => Text -> IO (GValueConstruct o)
- getFrameLabel :: (MonadIO m, IsFrame o) => o -> m (Maybe Text)
- setFrameLabel :: (MonadIO m, IsFrame o) => o -> Text -> m ()
- clearFrameLabelWidget :: (MonadIO m, IsFrame o) => o -> m ()
- constructFrameLabelWidget :: (IsFrame o, IsWidget a) => a -> IO (GValueConstruct o)
- getFrameLabelWidget :: (MonadIO m, IsFrame o) => o -> m (Maybe Widget)
- setFrameLabelWidget :: (MonadIO m, IsFrame o, IsWidget a) => o -> a -> m ()
- constructFrameLabelXalign :: IsFrame o => Float -> IO (GValueConstruct o)
- getFrameLabelXalign :: (MonadIO m, IsFrame o) => o -> m Float
- setFrameLabelXalign :: (MonadIO m, IsFrame o) => o -> Float -> m ()
- constructFrameLabelYalign :: IsFrame o => Float -> IO (GValueConstruct o)
- getFrameLabelYalign :: (MonadIO m, IsFrame o) => o -> m Float
- setFrameLabelYalign :: (MonadIO m, IsFrame o) => o -> Float -> m ()
- constructFrameShadowType :: IsFrame o => ShadowType -> IO (GValueConstruct o)
- getFrameShadowType :: (MonadIO m, IsFrame o) => o -> m ShadowType
- setFrameShadowType :: (MonadIO m, IsFrame o) => o -> ShadowType -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Frame Source # | |
IsGValue Frame Source # | Convert |
GObject Frame Source # | |
Defined in GI.Gtk.Objects.Frame gobjectType :: IO GType # | |
HasParentTypes Frame Source # | |
Defined in GI.Gtk.Objects.Frame | |
type ParentTypes Frame Source # | |
Defined in GI.Gtk.Objects.Frame |
class (GObject o, IsDescendantOf Frame o) => IsFrame o Source #
Instances
(GObject o, IsDescendantOf Frame o) => IsFrame o Source # | |
Defined in GI.Gtk.Objects.Frame |
Methods
Overloaded methods
getLabel
getLabelAlign
Retrieves the X and Y alignment of the frame’s label. See
frameSetLabelAlign
.
getLabelWidget
:: (HasCallStack, MonadIO m, IsFrame a) | |
=> a |
|
-> m (Maybe Widget) | Returns: the label widget, or |
Retrieves the label widget for the frame. See
frameSetLabelWidget
.
getShadowType
:: (HasCallStack, MonadIO m, IsFrame a) | |
=> a |
|
-> m ShadowType | Returns: the current shadow type of the frame. |
Retrieves the shadow type of the frame. See
frameSetShadowType
.
new
setLabel
setLabelAlign
:: (HasCallStack, MonadIO m, IsFrame a) | |
=> a |
|
-> Float |
|
-> Float |
|
-> m () |
Sets the alignment of the frame widget’s label. The default values for a newly created frame are 0.0 and 0.5.
setLabelWidget
:: (HasCallStack, MonadIO m, IsFrame a, IsWidget b) | |
=> a |
|
-> Maybe b |
|
-> m () |
Sets the Frame
:label-widget
for the frame. This is the widget that
will appear embedded in the top edge of the frame as a title.
setShadowType
:: (HasCallStack, MonadIO m, IsFrame a) | |
=> a |
|
-> ShadowType |
|
-> m () |
Sets the Frame
:shadow-type
for frame
, i.e. whether it is drawn without
(ShadowTypeNone
) or with (other values) a visible border. Values other than
ShadowTypeNone
are treated identically by GtkFrame. The chosen type is
applied by removing or adding the .flat class to the CSS node named border.
Properties
label
No description available in the introspection data.
clearFrameLabel :: (MonadIO m, IsFrame o) => o -> m () Source #
Set the value of the “label
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#label
constructFrameLabel :: IsFrame o => Text -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “label
” property. This is rarely needed directly, but it is used by new
.
getFrameLabel :: (MonadIO m, IsFrame o) => o -> m (Maybe Text) Source #
Get the value of the “label
” property.
When overloading is enabled, this is equivalent to
get
frame #label
setFrameLabel :: (MonadIO m, IsFrame o) => o -> Text -> m () Source #
Set the value of the “label
” property.
When overloading is enabled, this is equivalent to
set
frame [ #label:=
value ]
labelWidget
No description available in the introspection data.
clearFrameLabelWidget :: (MonadIO m, IsFrame o) => o -> m () Source #
Set the value of the “label-widget
” property to Nothing
.
When overloading is enabled, this is equivalent to
clear
#labelWidget
constructFrameLabelWidget :: (IsFrame o, IsWidget a) => a -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “label-widget
” property. This is rarely needed directly, but it is used by new
.
getFrameLabelWidget :: (MonadIO m, IsFrame o) => o -> m (Maybe Widget) Source #
Get the value of the “label-widget
” property.
When overloading is enabled, this is equivalent to
get
frame #labelWidget
setFrameLabelWidget :: (MonadIO m, IsFrame o, IsWidget a) => o -> a -> m () Source #
Set the value of the “label-widget
” property.
When overloading is enabled, this is equivalent to
set
frame [ #labelWidget:=
value ]
labelXalign
No description available in the introspection data.
constructFrameLabelXalign :: IsFrame o => Float -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “label-xalign
” property. This is rarely needed directly, but it is used by new
.
getFrameLabelXalign :: (MonadIO m, IsFrame o) => o -> m Float Source #
Get the value of the “label-xalign
” property.
When overloading is enabled, this is equivalent to
get
frame #labelXalign
setFrameLabelXalign :: (MonadIO m, IsFrame o) => o -> Float -> m () Source #
Set the value of the “label-xalign
” property.
When overloading is enabled, this is equivalent to
set
frame [ #labelXalign:=
value ]
labelYalign
No description available in the introspection data.
constructFrameLabelYalign :: IsFrame o => Float -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “label-yalign
” property. This is rarely needed directly, but it is used by new
.
getFrameLabelYalign :: (MonadIO m, IsFrame o) => o -> m Float Source #
Get the value of the “label-yalign
” property.
When overloading is enabled, this is equivalent to
get
frame #labelYalign
setFrameLabelYalign :: (MonadIO m, IsFrame o) => o -> Float -> m () Source #
Set the value of the “label-yalign
” property.
When overloading is enabled, this is equivalent to
set
frame [ #labelYalign:=
value ]
shadowType
No description available in the introspection data.
constructFrameShadowType :: IsFrame o => ShadowType -> IO (GValueConstruct o) Source #
Construct a GValueConstruct
with valid value for the “shadow-type
” property. This is rarely needed directly, but it is used by new
.
getFrameShadowType :: (MonadIO m, IsFrame o) => o -> m ShadowType Source #
Get the value of the “shadow-type
” property.
When overloading is enabled, this is equivalent to
get
frame #shadowType
setFrameShadowType :: (MonadIO m, IsFrame o) => o -> ShadowType -> m () Source #
Set the value of the “shadow-type
” property.
When overloading is enabled, this is equivalent to
set
frame [ #shadowType:=
value ]