Trait IsClassFor

Source
pub unsafe trait IsClassFor: Sized + 'static {
    type Instance: ObjectType;

    // Provided methods
    fn get_type(&self) -> Type { ... }
    fn upcast_ref<U>(&self) -> &U
       where U: IsClassFor,
             Self::Instance: IsA<<U as IsClassFor>::Instance>,
             <U as IsClassFor>::Instance: ObjectType { ... }
    fn upcast_ref_mut<U>(&mut self) -> &mut U
       where U: IsClassFor,
             Self::Instance: IsA<<U as IsClassFor>::Instance>,
             <U as IsClassFor>::Instance: ObjectType { ... }
    fn downcast_ref<U>(&self) -> Option<&U>
       where U: IsClassFor,
             <U as IsClassFor>::Instance: IsA<Self::Instance>,
             Self::Instance: ObjectType { ... }
    fn downcast_ref_mut<U>(&mut self) -> Option<&mut U>
       where U: IsClassFor,
             <U as IsClassFor>::Instance: IsA<Self::Instance>,
             Self::Instance: ObjectType { ... }
    fn from_type(type_: Type) -> Option<ClassRef<Self>> { ... }
}
Expand description

Trait for mapping a class struct type to its corresponding instance type.

Required Associated Types§

Source

type Instance: ObjectType

Corresponding Rust instance type for this class.

Provided Methods§

Source

fn get_type(&self) -> Type

Get the type id for this class.

Source

fn upcast_ref<U>(&self) -> &U

Casts this class to a reference to a parent type’s class.

Source

fn upcast_ref_mut<U>(&mut self) -> &mut U

Casts this class to a mutable reference to a parent type’s class.

Source

fn downcast_ref<U>(&self) -> Option<&U>
where U: IsClassFor, <U as IsClassFor>::Instance: IsA<Self::Instance>, Self::Instance: ObjectType,

Casts this class to a reference to a child type’s class or fails if this class is not implementing the child class.

Source

fn downcast_ref_mut<U>(&mut self) -> Option<&mut U>
where U: IsClassFor, <U as IsClassFor>::Instance: IsA<Self::Instance>, Self::Instance: ObjectType,

Casts this class to a mutable reference to a child type’s class or fails if this class is not implementing the child class.

Source

fn from_type(type_: Type) -> Option<ClassRef<Self>>

Gets the class struct corresponding to type_.

This will return None if type_ is not a subclass of Self.

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl IsClassFor for GObjectAccessibleClass

Source§

impl IsClassFor for HyperlinkClass

Source§

impl IsClassFor for MiscClass

Source§

impl IsClassFor for NoOpObjectClass

Source§

impl IsClassFor for NoOpObjectFactoryClass

Source§

impl IsClassFor for ObjectClass

Source§

impl IsClassFor for ObjectFactoryClass

Source§

impl IsClassFor for PlugClass

Source§

impl IsClassFor for RegistryClass

Source§

impl IsClassFor for RelationClass

Source§

impl IsClassFor for RelationSetClass

Source§

impl IsClassFor for SocketClass

Source§

impl IsClassFor for StateSetClass

Source§

impl IsClassFor for UtilClass

Source§

impl IsClassFor for AppLaunchContextClass

Source§

impl IsClassFor for CursorClass

Source§

impl IsClassFor for DeviceClass

Source§

impl IsClassFor for DeviceManagerClass

Source§

impl IsClassFor for DeviceToolClass

Source§

impl IsClassFor for DisplayClass

Source§

impl IsClassFor for DisplayManagerClass

Source§

impl IsClassFor for DragContextClass

Source§

impl IsClassFor for DrawingContextClass

Source§

impl IsClassFor for FrameClockClass

Source§

impl IsClassFor for GLContextClass

Source§

impl IsClassFor for MonitorClass

Source§

impl IsClassFor for ScreenClass

Source§

impl IsClassFor for SeatClass

Source§

impl IsClassFor for VisualClass

Source§

impl IsClassFor for WindowClass

Source§

impl IsClassFor for PixbufClass

Source§

impl IsClassFor for PixbufLoaderClass

Source§

impl IsClassFor for PixbufSimpleAnimClass

Source§

impl IsClassFor for AppInfoMonitorClass

Source§

impl IsClassFor for AppLaunchContextClass

Source§

impl IsClassFor for ApplicationClass

Source§

impl IsClassFor for ApplicationCommandLineClass

Source§

impl IsClassFor for BufferedInputStreamClass

Source§

impl IsClassFor for BufferedOutputStreamClass

Source§

impl IsClassFor for BytesIconClass

Source§

impl IsClassFor for CancellableClass

Source§

impl IsClassFor for CharsetConverterClass

Source§

impl IsClassFor for ConverterInputStreamClass

Source§

impl IsClassFor for ConverterOutputStreamClass

Source§

impl IsClassFor for CredentialsClass

Source§

impl IsClassFor for DataInputStreamClass

Source§

impl IsClassFor for DataOutputStreamClass

Source§

impl IsClassFor for DesktopAppInfoClass

Source§

impl IsClassFor for EmblemClass

Source§

impl IsClassFor for EmblemedIconClass

Source§

impl IsClassFor for FileIconClass

Source§

impl IsClassFor for FileInfoClass

Source§

impl IsClassFor for FileInputStreamClass

Source§

impl IsClassFor for FileIOStreamClass

Source§

impl IsClassFor for FileMonitorClass

Source§

impl IsClassFor for FileOutputStreamClass

Source§

impl IsClassFor for FilenameCompleterClass

Source§

impl IsClassFor for FilterInputStreamClass

Source§

impl IsClassFor for FilterOutputStreamClass

Source§

impl IsClassFor for InetAddressClass

Source§

impl IsClassFor for InetAddressMaskClass

Source§

impl IsClassFor for InetSocketAddressClass

Source§

impl IsClassFor for InputStreamClass

Source§

impl IsClassFor for IOStreamClass

Source§

impl IsClassFor for ListStoreClass

Source§

impl IsClassFor for MemoryInputStreamClass

Source§

impl IsClassFor for MemoryOutputStreamClass

Source§

impl IsClassFor for MenuClass

Source§

impl IsClassFor for MenuAttributeIterClass

Source§

impl IsClassFor for MenuItemClass

Source§

impl IsClassFor for MenuLinkIterClass

Source§

impl IsClassFor for MenuModelClass

Source§

impl IsClassFor for MountOperationClass

Source§

impl IsClassFor for NetworkAddressClass

Source§

impl IsClassFor for NetworkServiceClass

Source§

impl IsClassFor for NotificationClass

Source§

impl IsClassFor for OutputStreamClass

Source§

impl IsClassFor for PermissionClass

Source§

impl IsClassFor for PropertyActionClass

Source§

impl IsClassFor for ProxyAddressClass

Source§

impl IsClassFor for ResolverClass

Source§

impl IsClassFor for SettingsClass

Source§

impl IsClassFor for SettingsBackendClass

Source§

impl IsClassFor for SimpleActionClass

Source§

impl IsClassFor for SimpleActionGroupClass

Source§

impl IsClassFor for SimpleIOStreamClass

Source§

impl IsClassFor for SimplePermissionClass

Source§

impl IsClassFor for SocketClass

Source§

impl IsClassFor for SocketAddressClass

Source§

impl IsClassFor for SocketAddressEnumeratorClass

Source§

impl IsClassFor for SocketClientClass

Source§

impl IsClassFor for SocketConnectionClass

Source§

impl IsClassFor for SocketListenerClass

Source§

impl IsClassFor for SocketServiceClass

Source§

impl IsClassFor for SubprocessClass

Source§

impl IsClassFor for SubprocessLauncherClass

Source§

impl IsClassFor for TcpConnectionClass

Source§

impl IsClassFor for ThemedIconClass

Source§

impl IsClassFor for ThreadedSocketServiceClass

Source§

impl IsClassFor for TlsCertificateClass

Source§

impl IsClassFor for TlsConnectionClass

Source§

impl IsClassFor for TlsDatabaseClass

Source§

impl IsClassFor for TlsInteractionClass

Source§

impl IsClassFor for TlsPasswordClass

Source§

impl IsClassFor for UnixInputStreamClass

Source§

impl IsClassFor for UnixOutputStreamClass

Source§

impl IsClassFor for UnixSocketAddressClass

Source§

impl IsClassFor for VfsClass

Source§

impl IsClassFor for VolumeMonitorClass

Source§

impl IsClassFor for ZlibCompressorClass

Source§

impl IsClassFor for ZlibDecompressorClass

Source§

impl IsClassFor for ContextClass

Source§

impl IsClassFor for EngineLangClass

Source§

impl IsClassFor for EngineShapeClass

Source§

impl IsClassFor for FontClass

Source§

impl IsClassFor for FontFaceClass

Source§

impl IsClassFor for FontFamilyClass

Source§

impl IsClassFor for FontMapClass

Source§

impl IsClassFor for FontsetClass

Source§

impl IsClassFor for FontsetSimpleClass

Source§

impl IsClassFor for LayoutClass

Source§

impl IsClassFor for RendererClass

Implementors§

Source§

impl IsClassFor for BindingClass

Source§

impl IsClassFor for InitiallyUnownedClass

Source§

impl IsClassFor for glib::object::ObjectClass

Source§

impl IsClassFor for AboutDialogClass

Source§

impl IsClassFor for AccelGroupClass

Source§

impl IsClassFor for AccelLabelClass

Source§

impl IsClassFor for ActionBarClass

Source§

impl IsClassFor for AdjustmentClass

Source§

impl IsClassFor for AppChooserButtonClass

Source§

impl IsClassFor for AppChooserDialogClass

Source§

impl IsClassFor for AppChooserWidgetClass

Source§

impl IsClassFor for gtk::ApplicationClass

Source§

impl IsClassFor for ApplicationWindowClass

Source§

impl IsClassFor for AspectFrameClass

Source§

impl IsClassFor for AssistantClass

Source§

impl IsClassFor for BinClass

Source§

impl IsClassFor for BoxClass

Source§

impl IsClassFor for BuilderClass

Source§

impl IsClassFor for ButtonBoxClass

Source§

impl IsClassFor for ButtonClass

Source§

impl IsClassFor for CalendarClass

Source§

impl IsClassFor for CellAreaBoxClass

Source§

impl IsClassFor for CellAreaClass

Source§

impl IsClassFor for CellAreaContextClass

Source§

impl IsClassFor for CellRendererAccelClass

Source§

impl IsClassFor for CellRendererClass

Source§

impl IsClassFor for CellRendererComboClass

Source§

impl IsClassFor for CellRendererPixbufClass

Source§

impl IsClassFor for CellRendererProgressClass

Source§

impl IsClassFor for CellRendererSpinClass

Source§

impl IsClassFor for CellRendererSpinnerClass

Source§

impl IsClassFor for CellRendererTextClass

Source§

impl IsClassFor for CellRendererToggleClass

Source§

impl IsClassFor for CellViewClass

Source§

impl IsClassFor for CheckButtonClass

Source§

impl IsClassFor for CheckMenuItemClass

Source§

impl IsClassFor for ClipboardClass

Source§

impl IsClassFor for ColorButtonClass

Source§

impl IsClassFor for ColorChooserDialogClass

Source§

impl IsClassFor for ColorChooserWidgetClass

Source§

impl IsClassFor for ComboBoxClass

Source§

impl IsClassFor for ComboBoxTextClass

Source§

impl IsClassFor for ContainerClass

Source§

impl IsClassFor for CssProviderClass

Source§

impl IsClassFor for DialogClass

Source§

impl IsClassFor for DrawingAreaClass

Source§

impl IsClassFor for EntryClass

Source§

impl IsClassFor for EntryCompletionClass

Source§

impl IsClassFor for EventBoxClass

Source§

impl IsClassFor for EventControllerClass

Source§

impl IsClassFor for ExpanderClass

Source§

impl IsClassFor for FileChooserButtonClass

Source§

impl IsClassFor for FileChooserDialogClass

Source§

impl IsClassFor for FileChooserNativeClass

Source§

impl IsClassFor for FileChooserWidgetClass

Source§

impl IsClassFor for FileFilterClass

Source§

impl IsClassFor for FixedClass

Source§

impl IsClassFor for FlowBoxChildClass

Source§

impl IsClassFor for FlowBoxClass

Source§

impl IsClassFor for FontButtonClass

Source§

impl IsClassFor for FontChooserDialogClass

Source§

impl IsClassFor for FontChooserWidgetClass

Source§

impl IsClassFor for FrameClass

Source§

impl IsClassFor for GLAreaClass

Source§

impl IsClassFor for GestureClass

Source§

impl IsClassFor for GestureDragClass

Source§

impl IsClassFor for GestureLongPressClass

Source§

impl IsClassFor for GestureMultiPressClass

Source§

impl IsClassFor for GesturePanClass

Source§

impl IsClassFor for GestureRotateClass

Source§

impl IsClassFor for GestureSingleClass

Source§

impl IsClassFor for GestureSwipeClass

Source§

impl IsClassFor for GestureZoomClass

Source§

impl IsClassFor for GridClass

Source§

impl IsClassFor for HeaderBarClass

Source§

impl IsClassFor for IMContextClass

Source§

impl IsClassFor for IMContextSimpleClass

Source§

impl IsClassFor for IMMulticontextClass

Source§

impl IsClassFor for IconInfoClass

Source§

impl IsClassFor for IconThemeClass

Source§

impl IsClassFor for IconViewClass

Source§

impl IsClassFor for ImageClass

Source§

impl IsClassFor for InfoBarClass

Source§

impl IsClassFor for InvisibleClass

Source§

impl IsClassFor for LabelClass

Source§

impl IsClassFor for gtk::LayoutClass

Source§

impl IsClassFor for LevelBarClass

Source§

impl IsClassFor for LinkButtonClass

Source§

impl IsClassFor for ListBoxClass

Source§

impl IsClassFor for ListBoxRowClass

Source§

impl IsClassFor for gtk::ListStoreClass

Source§

impl IsClassFor for LockButtonClass

Source§

impl IsClassFor for MenuBarClass

Source§

impl IsClassFor for MenuButtonClass

Source§

impl IsClassFor for gtk::MenuClass

Source§

impl IsClassFor for gtk::MenuItemClass

Source§

impl IsClassFor for MenuShellClass

Source§

impl IsClassFor for MenuToolButtonClass

Source§

impl IsClassFor for MessageDialogClass

Source§

impl IsClassFor for gtk::MiscClass

Source§

impl IsClassFor for ModelButtonClass

Source§

impl IsClassFor for gtk::MountOperationClass

Source§

impl IsClassFor for NativeDialogClass

Source§

impl IsClassFor for NotebookClass

Source§

impl IsClassFor for OffscreenWindowClass

Source§

impl IsClassFor for OverlayClass

Source§

impl IsClassFor for PadControllerClass

Source§

impl IsClassFor for PageSetupClass

Source§

impl IsClassFor for PanedClass

Source§

impl IsClassFor for PlacesSidebarClass

Source§

impl IsClassFor for gtk::PlugClass

Source§

impl IsClassFor for PopoverClass

Source§

impl IsClassFor for PopoverMenuClass

Source§

impl IsClassFor for PrintContextClass

Source§

impl IsClassFor for PrintOperationClass

Source§

impl IsClassFor for PrintSettingsClass

Source§

impl IsClassFor for ProgressBarClass

Source§

impl IsClassFor for RadioButtonClass

Source§

impl IsClassFor for RadioMenuItemClass

Source§

impl IsClassFor for RadioToolButtonClass

Source§

impl IsClassFor for RangeClass

Source§

impl IsClassFor for RecentChooserDialogClass

Source§

impl IsClassFor for RecentChooserMenuClass

Source§

impl IsClassFor for RecentChooserWidgetClass

Source§

impl IsClassFor for RecentFilterClass

Source§

impl IsClassFor for RecentManagerClass

Source§

impl IsClassFor for RevealerClass

Source§

impl IsClassFor for ScaleButtonClass

Source§

impl IsClassFor for ScaleClass

Source§

impl IsClassFor for ScrollbarClass

Source§

impl IsClassFor for ScrolledWindowClass

Source§

impl IsClassFor for SearchBarClass

Source§

impl IsClassFor for SearchEntryClass

Source§

impl IsClassFor for SeparatorClass

Source§

impl IsClassFor for SeparatorMenuItemClass

Source§

impl IsClassFor for SeparatorToolItemClass

Source§

impl IsClassFor for gtk::SettingsClass

Source§

impl IsClassFor for ShortcutsWindowClass

Source§

impl IsClassFor for SizeGroupClass

Source§

impl IsClassFor for gtk::SocketClass

Source§

impl IsClassFor for SpinButtonClass

Source§

impl IsClassFor for SpinnerClass

Source§

impl IsClassFor for StackClass

Source§

impl IsClassFor for StackSidebarClass

Source§

impl IsClassFor for StackSwitcherClass

Source§

impl IsClassFor for StatusbarClass

Source§

impl IsClassFor for StyleContextClass

Source§

impl IsClassFor for StylePropertiesClass

Source§

impl IsClassFor for SwitchClass

Source§

impl IsClassFor for TextBufferClass

Source§

impl IsClassFor for TextChildAnchorClass

Source§

impl IsClassFor for TextMarkClass

Source§

impl IsClassFor for TextTagClass

Source§

impl IsClassFor for TextTagTableClass

Source§

impl IsClassFor for TextViewClass

Source§

impl IsClassFor for ToggleButtonClass

Source§

impl IsClassFor for ToggleToolButtonClass

Source§

impl IsClassFor for ToolButtonClass

Source§

impl IsClassFor for ToolItemClass

Source§

impl IsClassFor for ToolItemGroupClass

Source§

impl IsClassFor for ToolPaletteClass

Source§

impl IsClassFor for ToolbarClass

Source§

impl IsClassFor for TooltipClass

Source§

impl IsClassFor for TreeModelFilterClass

Source§

impl IsClassFor for TreeModelSortClass

Source§

impl IsClassFor for TreeSelectionClass

Source§

impl IsClassFor for TreeStoreClass

Source§

impl IsClassFor for TreeViewClass

Source§

impl IsClassFor for TreeViewColumnClass

Source§

impl IsClassFor for ViewportClass

Source§

impl IsClassFor for VolumeButtonClass

Source§

impl IsClassFor for WidgetClass

Source§

impl IsClassFor for gtk::WindowClass

Source§

impl IsClassFor for WindowGroupClass