Struct gtk4::ProgressBar [−][src]
pub struct ProgressBar(_);
Expand description
ProgressBar
is typically used to display the progress of a long
running operation.
It provides a visual clue that processing is underway. ProgressBar
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 ProgressBar
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
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 ProgressBar
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 pulse()
periodically to update the progress bar.
There is quite a bit of flexibility provided to control the appearance
of the ProgressBar
. 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]
ProgressBar
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
ProgressBar
uses the AccessibleRole::ProgressBar
role.
Implements
WidgetExt
, glib::ObjectExt
, AccessibleExt
, BuildableExt
, ConstraintTargetExt
, OrientableExt
, WidgetExtManual
, AccessibleExtManual
Implementations
Creates a new builder-pattern struct instance to construct ProgressBar
objects.
This method returns an instance of ProgressBarBuilder
which can be used to create ProgressBar
objects.
Returns whether the ProgressBar
shows text.
See set_show_text()
.
Returns
true
if text is shown in the progress bar
Retrieves the text that is displayed with the progress bar.
The return value is a reference to the text, not a copy of it, so will become invalid if you change the text in the progress bar.
Returns
the text
Indicates that some progress has been made, but you don’t know how much.
Causes the progress bar to enter “activity mode,” where a block
bounces back and forth. Each call to pulse()
causes the block to move by a little bit (the amount of movement
per pulse is determined by set_pulse_step()
).
Sets the mode used to ellipsize the text.
The text is ellipsized if there is not enough space to render the entire string.
mode
Causes the progress bar to “fill in” the given fraction of the bar.
The fraction should be between 0.0 and 1.0, inclusive.
fraction
fraction of the task that’s been completed
Sets whether the progress bar will show text next to the bar.
The shown text is either the value of the property::ProgressBar::text
property or, if that is None
, the property::ProgressBar::fraction
value,
as a percentage.
To make a progress bar that is styled and sized suitably for containing
text (even if the actual text is blank), set property::ProgressBar::show-text
to true
and property::ProgressBar::text
to the empty string (not None
).
show_text
whether to show text
Causes the given text
to appear next to the progress bar.
If text
is None
and property::ProgressBar::show-text
is true
,
the current value of property::ProgressBar::fraction
will be displayed
as a percentage.
If text
is non-None
and property::ProgressBar::show-text
is true
,
the text will be displayed. In this case, it will not display the progress
percentage. If text
is the empty string, the progress bar will still
be styled and sized suitably for containing text, as long as
property::ProgressBar::show-text
is true
.
text
a UTF-8 string
Trait Implementations
This method returns an ordering between self
and other
values if one exists. Read more
This method tests less than (for self
and other
) and is used by the <
operator. Read more
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
Returns the type identifier of Self
.
Auto Trait Implementations
impl RefUnwindSafe for ProgressBar
impl !Send for ProgressBar
impl !Sync for ProgressBar
impl Unpin for ProgressBar
impl UnwindSafe for ProgressBar
Blanket Implementations
Mutably borrows from an owned value. Read more
Upcasts an object to a superclass or interface T
. Read more
Upcasts an object to a reference of its superclass or interface T
. Read more
Tries to downcast to a subclass or interface implementor T
. Read more
Tries to downcast to a reference of its subclass or interface implementor T
. Read more
Tries to cast to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Tries to cast to reference to an object of type T
. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast
and upcast
will do many checks at compile-time already. Read more
Casts to T
unconditionally. Read more
Casts to &T
unconditionally. Read more
Returns true
if the object is an instance of (can be cast to) T
.
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
N: Into<&'a str>,
V: ToValue,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
pub fn set_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn has_property<'a, N>(&self, property_name: N, type_: Option<Type>) -> bool where
N: Into<&'a str>,
pub fn find_property<'a, N>(&self, property_name: N) -> Option<ParamSpec> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
N: Into<&'a str>,
F: 'static + Fn(&[Value]) -> Option<Value> + Send + Sync,
Same as connect
but takes a SignalId
instead of a signal name.
pub fn connect_local<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
N: Into<&'a str>,
F: 'static + Fn(&[Value]) -> Option<Value>,
Same as connect_local
but takes a SignalId
instead of a signal name.
pub unsafe fn connect_unsafe<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
N: Into<&'a str>,
F: Fn(&[Value]) -> Option<Value>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Same as emit
but takes Value
for the arguments.
Emit signal by its name.
Same as emit_by_name
but takes Value
for the arguments.
Emit signal with details by signal id.
Same as emit_with_details
but takes Value
for the arguments.
pub fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec) + Send + Sync,
pub fn connect_notify_local<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: 'static + Fn(&T, &ParamSpec),
pub unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerId where
F: Fn(&T, &ParamSpec),
pub fn bind_property<'a, O, N, M>(
&'a self,
source_property: N,
target: &'a O,
target_property: M
) -> BindingBuilder<'a> where
O: ObjectType,
N: Into<&'a str>,
M: Into<&'a str>,
Returns a SendValue
clone of self
.