ProgressBar
open class ProgressBar : Widget, ProgressBarProtocol
GtkProgressBar
is typically used to display the progress of a long
running operation.
It provides a visual clue that processing is underway. GtkProgressBar
can be used in two different modes: percentage mode and activity mode.
When an application can determine how much work needs to take place
(e.g. read a fixed number of bytes from a file) and can monitor its
progress, it can use the GtkProgressBar
in percentage mode and the
user sees a growing bar indicating the percentage of the work that
has been completed. In this mode, the application is required to call
[methodGtk.ProgressBar.set_fraction
] periodically to update the progress bar.
When an application has no accurate way of knowing the amount of work
to do, it can use the GtkProgressBar
in activity mode, which shows
activity by a block moving back and forth within the progress area. In
this mode, the application is required to call [methodGtk.ProgressBar.pulse
]
periodically to update the progress bar.
There is quite a bit of flexibility provided to control the appearance
of the GtkProgressBar
. Functions are provided to control the orientation
of the bar, optional text can be displayed along with the bar, and the
step size used in activity mode can be set.
CSS nodes
progressbar[.osd]
├── [text]
╰── trough[.empty][.full]
╰── progress[.pulse]
GtkProgressBar
has a main CSS node with name progressbar and subnodes with
names text and trough, of which the latter has a subnode named progress. The
text subnode is only present if text is shown. The progress subnode has the
style class .pulse when in activity mode. It gets the style classes .left,
.right, .top or .bottom added when the progress ‘touches’ the corresponding
end of the GtkProgressBar. The .osd class on the progressbar node is for use
in overlays like the one Epiphany has for page loading progress.
Accessibility
GtkProgressBar
uses the GTK_ACCESSIBLE_ROLE_PROGRESS_BAR
role.
The ProgressBar
type acts as a reference-counted owner of an underlying GtkProgressBar
instance.
It provides the methods that can operate on this data type through ProgressBarProtocol
conformance.
Use ProgressBar
as a strong reference or owner of a GtkProgressBar
instance.
-
Designated initialiser from the underlying `C` data type.
This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
ProgressBar
instance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkProgressBar>)
Parameters
op
pointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theProgressBar
instance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkProgressBar>)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a non-mutating
gpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theProgressBar
instance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)
Parameters
op
gpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theProgressBar
instance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theProgressBar
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkProgressBar>?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theProgressBar
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkProgressBar>?)
Parameters
op
pointer to the underlying object
-
Designated initialiser from the underlying
C
data type. Will retainGtkProgressBar
. i.e., ownership is transferred to theProgressBar
instance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkProgressBar>)
Parameters
op
pointer to the underlying object
-
Reference intialiser for a related type that implements
ProgressBarProtocol
Will retainGtkProgressBar
.Declaration
Swift
@inlinable public init<T>(progressBar other: T) where T : ProgressBarProtocol
Parameters
other
an instance of a related type that implements
ProgressBarProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)
Parameters
p
raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)
Parameters
p
mutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)
Parameters
raw
mutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
ProgressBarProtocol
.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Creates a new
GtkProgressBar
.Declaration
Swift
@inlinable public init()