Klasse WindowControls

Alle implementierten Schnittstellen:
PointerInterface

public class WindowControls extends Widget
Shows window frame controls.

Typical window frame controls are minimize, maximize and close buttons,
and the window icon.

<picture>
<source srcset="windowcontrols-dark.png" media="(prefers-color-scheme: dark)">
<img alt="An example GtkWindowControls" src="windowcontrols.png">
</picture>

`GtkWindowControls` only displays start or end side of the controls (see
[property@Gtk.WindowControls:side]), so it's intended to be always used
in pair with another `GtkWindowControls` for the opposite side, for example:

```xml
<object class="GtkBox">
<child>
<object class="GtkWindowControls">
<property name="side">start</property>
</object>
</child>

...

<child>
<object class="GtkWindowControls">
<property name="side">end</property>
</object>
</child>
</object>
```

# CSS nodes

```
windowcontrols
├── [image.icon]
├── [button.minimize]
├── [button.maximize]
╰── [button.close]
```

A `GtkWindowControls`' CSS node is called windowcontrols. It contains
subnodes corresponding to each title button. Which of the title buttons
exist and where they are placed exactly depends on the desktop environment
and [property@Gtk.WindowControls:decoration-layout] value.

When [property@Gtk.WindowControls:empty] is true, it gets the .empty
style class.

# Accessibility

`GtkWindowControls` uses the [enum@Gtk.AccessibleRole.group] role.

https://docs.gtk.org/gtk4/class.WindowControls.html

  • Konstruktordetails

    • WindowControls

      public WindowControls(PointerContainer pointer)
    • WindowControls

      public WindowControls(int side)
      Creates a new `GtkWindowControls`.
      Parameter:
      side - the side
  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • getDecorationLayout

      public Str getDecorationLayout()
      Gets the decoration layout of this window controls widget
      Gibt zurück:
      the decoration layout
    • getEmpty

      public boolean getEmpty()
      Gets whether the widget has any window buttons.
      Gibt zurück:
      true if the widget has window buttons
    • getSide

      public int getSide()
      Gets the side to which this window controls widget belongs.
      Gibt zurück:
      the side
    • getUseNativeControls

      public boolean getUseNativeControls()
      Returns whether platform native window controls are shown.
      Gibt zurück:
      true if native window controls are shown
    • setDecorationLayout

      public void setDecorationLayout(@Nullable Str layout)
      Sets the decoration layout for the title buttons.

      This overrides the [property@Gtk.Settings:gtk-decoration-layout]
      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 and icon (the window icon).

      For example, “icon:minimize,maximize,close” specifies a icon
      on the left, and minimize, maximize and close buttons on the right.

      If [property@Gtk.WindowControls:side] value is [enum@Gtk.PackType.start],
      @self will display the part before the colon, otherwise after that.
      Parameter:
      layout - a decoration layout, or `NULL` to unset the layout
    • setDecorationLayout

      public void setDecorationLayout(String layout)
      Sets the decoration layout for the title buttons.

      This overrides the [property@Gtk.Settings:gtk-decoration-layout]
      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 and icon (the window icon).

      For example, “icon:minimize,maximize,close” specifies a icon
      on the left, and minimize, maximize and close buttons on the right.

      If [property@Gtk.WindowControls:side] value is [enum@Gtk.PackType.start],
      @self will display the part before the colon, otherwise after that.
      Parameter:
      layout - a decoration layout, or `NULL` to unset the layout
    • setSide

      public void setSide(int side)
      Determines which part of decoration layout
      the window controls widget uses.

      See [property@Gtk.WindowControls:decoration-layout].
      Parameter:
      side - a side
    • setUseNativeControls

      public void setUseNativeControls(boolean setting)
      Sets whether platform native window controls are used.

      This option shows the "stoplight" buttons on macOS.
      For Linux, this option has no effect.

      See also [Using GTK on Apple macOS](osx.html?native-window-controls).
      Parameter:
      setting - true to show native window controls
    • asAccessible

      public Accessible asAccessible()
      Implements interface Accessible. Call this to get access to interface functions.
      Setzt außer Kraft:
      asAccessible in Klasse Widget
      Gibt zurück:
      Accessible
    • asBuildable

      public Buildable asBuildable()
      Implements interface Buildable. Call this to get access to interface functions.
      Setzt außer Kraft:
      asBuildable in Klasse Widget
      Gibt zurück:
      Buildable
    • asConstraintTarget

      public ConstraintTarget asConstraintTarget()
      Implements interface ConstraintTarget. Call this to get access to interface functions.
      Setzt außer Kraft:
      asConstraintTarget in Klasse Widget
      Gibt zurück:
      ConstraintTarget
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()