Struct gtk::Window [−][src]
pub struct Window(_);
Expand description
A GtkWindow is a toplevel window which can contain other widgets. Windows normally have decorations that are under the control of the windowing system and allow the user to manipulate the window (resize it, move it, close it,…).
GtkWindow as GtkBuildable
The GtkWindow implementation of the Buildable
interface supports a
custom <accel-groups>
element, which supports any number of <group>
elements representing the AccelGroup
objects you want to add to
your window (synonymous with GtkWindowExt::add_accel_group()
.
It also supports the <initial-focus>
element, whose name property names
the widget to receive the focus when the window is mapped.
An example of a UI definition fragment with accel groups:
⚠️ The following code is in plain ⚠️
window.background
├── decoration
├── <titlebar child>.titlebar [.default-decoration]
╰── <child>
GtkWindow has a main CSS node with name window and style class .background, and a subnode with name decoration.
Style classes that are typically used with the main CSS node are .csd (when client-side decorations are in use), .solid-csd (for client-side decorations without invisible borders), .ssd (used by mutter when rendering server-side decorations). GtkWindow also represents window states with the following style classes on the main node: .tiled, .maximized, .fullscreen. Specialized types of window often add their own discriminating style classes, such as .popup or .tooltip.
GtkWindow adds the .titlebar and .default-decoration style classes to the widget that is added as a titlebar child.
Implements
GtkWindowExt
, BinExt
, ContainerExt
, WidgetExt
, glib::ObjectExt
, BuildableExt
, [GtkWindowExtManual
][trait@crate::prelude::GtkWindowExtManual], WidgetExtManual
, BuildableExtManual
Implementations
Creates a new Window
, which is a toplevel window that can
contain other widgets. Nearly always, the type of the window should
be WindowType::Toplevel
. If you’re implementing something like a
popup menu from scratch (which is a bad idea, just use Menu
),
you might use WindowType::Popup
. WindowType::Popup
is not for
dialogs, though in some other toolkits dialogs are called “popups”.
In GTK+, WindowType::Popup
means a pop-up menu or pop-up tooltip.
On X11, popup windows are not controlled by the
[window manager][gtk-X11-arch].
If you simply want an undecorated window (no window borders), use
GtkWindowExt::set_decorated()
, don’t use WindowType::Popup
.
All top-level windows created by new()
are stored in
an internal top-level window list. This list can be obtained from
list_toplevels()
. Due to Gtk+ keeping a reference to
the window internally, new()
does not return a reference
to the caller.
To delete a Window
, call gtk_widget_destroy()
.
type_
type of window
Returns
a new Window
.
Creates a new builder-pattern struct instance to construct Window
objects.
This method returns an instance of WindowBuilder
which can be used to create Window
objects.
Gets the value set by set_default_icon_list()
.
The list is a copy and should be freed with g_list_free()
,
but the pixbufs in the list have not had their reference count
incremented.
Returns
copy of default icon list
Returns the fallback icon name for windows that has been set
with set_default_icon_name()
. The returned
string is owned by GTK+ and should not be modified. It
is only valid until the next call to
set_default_icon_name()
.
Returns
the fallback icon name for windows
Returns a list of all existing toplevel windows. The widgets
in the list are not individually referenced. If you want
to iterate through the list and perform actions involving
callbacks that might destroy the widgets, you must call
g_list_foreach (result, (GFunc)g_object_ref, NULL)
first, and
then unref all the widgets afterwards.
Returns
list of toplevel widgets
By default, after showing the first Window
, GTK+ calls
gdk_notify_startup_complete()
. Call this function to disable
the automatic startup notification. You might do this if your
first window is a splash screen, and you want to delay notification
until after your real main window has been shown, for example.
In that example, you would disable startup notification temporarily, show your splash screen, then re-enable it so that showing the main window would automatically result in notification.
setting
true
to automatically do startup notification
Sets an icon to be used as fallback for windows that haven’t
had GtkWindowExt::set_icon()
called on them from a pixbuf.
icon
the icon
Sets an icon to be used as fallback for windows that haven’t
had GtkWindowExt::set_icon_list()
called on them from a file
on disk. Warns on failure if err
is None
.
filename
location of icon file
Returns
true
if setting the icon succeeded.
Sets an icon list to be used as fallback for windows that haven’t
had GtkWindowExt::set_icon_list()
called on them to set up a
window-specific icon list. This function allows you to set up the
icon for all windows in your app at once.
See GtkWindowExt::set_icon_list()
for more details.
list
a list of gdk_pixbuf::Pixbuf
Sets an icon to be used as fallback for windows that haven’t
had GtkWindowExt::set_icon_list()
called on them from a named
themed icon, see GtkWindowExt::set_icon_name()
.
name
the name of the themed icon
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 Window
impl UnwindSafe for Window
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_properties_from_value(
&self,
property_values: &[(&str, Value)]
) -> Result<(), BoolError>
pub fn set_property<'a, N, V>(
&self,
property_name: N,
value: V
) -> Result<(), BoolError> where
V: ToValue,
N: Into<&'a str>,
pub fn set_property_from_value<'a, N>(
&self,
property_name: N,
value: &Value
) -> Result<(), BoolError> where
N: Into<&'a str>,
Safety Read more
Safety Read more
Safety Read more
Safety Read more
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 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>,
pub fn connect<'a, N, F>(
&self,
signal_name: N,
after: bool,
callback: F
) -> Result<SignalHandlerId, BoolError> where
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
N: Into<&'a str>,
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
F: Fn(&[Value]) -> Option<Value> + 'static,
N: Into<&'a str>,
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
F: Fn(&[Value]) -> Option<Value>,
N: Into<&'a str>,
Same as connect_unsafe
but takes a SignalId
instead of a signal name.
Emit signal by signal id.
Emit signal with details by signal id.
Emit signal by it’s name.
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>,
Same as emit
but takes Value
for the arguments.
Same as emit_by_name
but takes Value
for the arguments.
Returns a SendValue
clone of self
.
impl<'a, T, C> FromValueOptional<'a> for T where
C: ValueTypeChecker<Error = ValueTypeMismatchOrNoneError>,
T: FromValue<'a, Checker = C>,