Frame

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 gtk.frame.Frame.setLabelAlign.

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 gtk.frame.Frame:

<object class="GtkFrame">
  <child type="label">
    <object class="GtkLabel" id="frame-label"/>
  </child>
  <child>
    <object class="GtkEntry" id="frame-content"/>
  </child>
</object>

CSS nodes

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 gtk.frame.Frame.setShadowType with gtk.types.ShadowType.None to add the “.flat” class or any other shadow type to remove it.

Constructors

this
this(void* ptr, Flag!"Take" take)
this
this(string label)

Creates a new #GtkFrame, with optional label label. If label is null, the label is omitted.

Members

Functions

getLabel
string getLabel()

If the frame’s label widget is a #GtkLabel, returns the text in the label widget. (The frame will have a #GtkLabel for the label widget if a non-null argument was passed to gtk.frame.Frame.new_.)

getLabelAlign
void getLabelAlign(float xalign, float yalign)

Retrieves the X and Y alignment of the frame’s label. See gtk.frame.Frame.setLabelAlign.

getLabelWidget
gtk.widget.Widget getLabelWidget()

Retrieves the label widget for the frame. See gtk.frame.Frame.setLabelWidget.

getShadowType
gtk.types.ShadowType getShadowType()

Retrieves the shadow type of the frame. See gtk.frame.Frame.setShadowType.

self
Frame self()

Returns this, for use in with statements.

setLabel
void setLabel(string label)

Removes the current #GtkFrame:label-widget. If label is not null, creates a new #GtkLabel with that text and adds it as the #GtkFrame:label-widget.

setLabelAlign
void setLabelAlign(float xalign, float yalign)

Sets the alignment of the frame widget’s label. The default values for a newly created frame are 0.0 and 0.5.

setLabelWidget
void setLabelWidget(gtk.widget.Widget labelWidget)

Sets the #GtkFrame:label-widget for the frame. This is the widget that will appear embedded in the top edge of the frame as a title.

setShadowType
void setShadowType(gtk.types.ShadowType type)

Sets the #GtkFrame:shadow-type for frame, i.e. whether it is drawn without (gtk.types.ShadowType.None) or with (other values) a visible border. Values other than gtk.types.ShadowType.None are treated identically by GtkFrame. The chosen type is applied by removing or adding the .flat class to the CSS node named border.

Properties

_gType
GType _gType [@property getter]
label
string label [@property getter]
label
string label [@property setter]
labelWidget
gtk.widget.Widget labelWidget [@property getter]
labelWidget
gtk.widget.Widget labelWidget [@property setter]
labelXalign
float labelXalign [@property getter]
labelXalign
float labelXalign [@property setter]
labelYalign
float labelYalign [@property getter]
labelYalign
float labelYalign [@property setter]
shadowType
gtk.types.ShadowType shadowType [@property getter]
shadowType
gtk.types.ShadowType shadowType [@property setter]

Static functions

_getGType
GType _getGType()
builder
FrameGidBuilder builder()

Get builder for gtk.frame.Frame

Inherited Members

From Bin

_getGType
GType _getGType()
_gType
GType _gType [@property getter]
self
Bin self()

Returns this, for use in with statements.

builder
BinGidBuilder builder()

Get builder for gtk.bin.Bin

getChild
gtk.widget.Widget getChild()

Gets the child of the #GtkBin, or null if the bin contains no child widget. The returned widget does not have a reference added, so you do not need to unref it.