[]Struct gtk::Window

pub struct Window(_, _);

A Window 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,...).

Window as Buildable

The Window 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:

window.background
├── decoration
├── <titlebar child>.titlebar [.default-decoration]
╰── <child>

Window 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). Window 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.

Window adds the .titlebar and .default-decoration style classes to the widget that is added as a titlebar child.

Implements

GtkWindowExt, BinExt, ContainerExt, WidgetExt, glib::object::ObjectExt, BuildableExt, GtkWindowExtManual, WidgetExtManual, BuildableExtManual

Implementations

impl Window[src]

pub fn new(type_: WindowType) -> Window[src]

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 Window::new are stored in an internal top-level window list. This list can be obtained from Window::list_toplevels. Due to Gtk+ keeping a reference to the window internally, Window::new does not return a reference to the caller.

To delete a Window, call Widget::destroy.

type_

type of window

Returns

a new Window.

pub fn get_default_icon_list() -> Vec<Pixbuf>[src]

Gets the value set by Window::set_default_icon_list. The list is a copy and should be freed with glib::List::free, but the pixbufs in the list have not had their reference count incremented.

Returns

copy of default icon list

pub fn get_default_icon_name() -> Option<GString>[src]

Returns the fallback icon name for windows that has been set with Window::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 Window::set_default_icon_name.

Returns

the fallback icon name for windows

pub fn list_toplevels() -> Vec<Widget>[src]

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

pub fn set_auto_startup_notification(setting: bool)[src]

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

pub fn set_default_icon(icon: &Pixbuf)[src]

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

pub fn set_default_icon_from_file<P: AsRef<Path>>(
    filename: P
) -> Result<(), Error>
[src]

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.

pub fn set_default_icon_list(list: &[Pixbuf])[src]

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

pub fn set_default_icon_name(name: &str)[src]

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

pub fn set_interactive_debugging(enable: bool)[src]

Opens or closes the [interactive debugger][interactive-debugging], which offers access to the widget hierarchy of the application and to useful debugging tools.

enable

true to enable interactive debugging

Trait Implementations

impl Clone for Window

impl Debug for Window

impl Display for Window[src]

impl Eq for Window

impl Hash for Window

impl IsA<Bin> for Window

impl IsA<Buildable> for Window

impl IsA<Container> for Window

impl IsA<Widget> for Window

impl IsA<Window> for AboutDialog

impl IsA<Window> for AppChooserDialog

impl IsA<Window> for Plug

impl IsA<Window> for RecentChooserDialog

impl IsA<Window> for ShortcutsWindow

impl IsA<Window> for ApplicationWindow

impl IsA<Window> for Assistant

impl IsA<Window> for ColorChooserDialog

impl IsA<Window> for Dialog

impl IsA<Window> for FileChooserDialog

impl IsA<Window> for FontChooserDialog

impl IsA<Window> for MessageDialog

impl IsA<Window> for OffscreenWindow

impl Ord for Window

impl<T: ObjectType> PartialEq<T> for Window

impl<T: ObjectType> PartialOrd<T> for Window

impl StaticType for Window

Auto Trait Implementations

impl RefUnwindSafe for Window

impl !Send for Window

impl !Sync for Window

impl Unpin for Window

impl UnwindSafe for Window

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<Super, Sub> CanDowncast<Sub> for Super where
    Sub: IsA<Super>,
    Super: IsA<Super>, 

impl<T> Cast for T where
    T: ObjectType, 

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ObjectExt for T where
    T: ObjectType, 

impl<'a, T> ToGlibContainerFromSlice<'a, *const GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *const GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<Array>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GList> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<List>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<'a, T> ToGlibContainerFromSlice<'a, *mut GPtrArray> for T where
    T: GlibPtrDefault + ToGlibPtr<'a, <T as GlibPtrDefault>::GlibType>, 

type Storage = (Option<PtrArray>, Vec<Stash<'a, <T as GlibPtrDefault>::GlibType, T>>)

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T> ToValue for T where
    T: SetValue + ?Sized

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.