Skip to content
This repository was archived by the owner on Mar 4, 2024. It is now read-only.
This repository was archived by the owner on Mar 4, 2024. It is now read-only.

FileChooser interface is not implementable #756

Description

@kelnos

I'm trying to build my own widget and have it implement the GtkFileChooser interface. To my ObjectSubclass impl, I've added:

type Interfaces = (gtk::FileChooser,);

However, I get the following error:

error[E0277]: the trait bound `gtk::FileChooser: IsImplementable<file_chooser_widget::imp::BetterFileChooserWidget>` is not satisfied
   --> widget/src/file_chooser_widget.rs:110:27
    |
110 |         type Interfaces = (gtk::FileChooser,);
    |                           ^^^^^^^^^^^^^^^^^^^ the trait `IsImplementable<file_chooser_widget::imp::BetterFileChooserWidget>` is not implemented for `gtk::FileChooser`
    |
    = note: required because of the requirements on the impl of `InterfaceList<file_chooser_widget::imp::BetterFileChooserWidget>` for `(gtk::FileChooser,)`
note: required by a bound in `gtk::subclass::prelude::ObjectSubclass::Interfaces`
   --> /home/brian/.cargo/registry/src/github.com-1ecc6299db9ec823/glib-0.15.11/src/subclass/types.rs:549:22
    |
549 |     type Interfaces: InterfaceList<Self>;
    |                      ^^^^^^^^^^^^^^^^^^^ required by this bound in `gtk::subclass::prelude::ObjectSubclass::Interfaces`

This seems to be correct; I don't see an IsImplementable implementation for FileChooser. There also isn't a FileChooserImpl trait to implement like I'd expect (though there is FileChooserExt, but my -- perhaps incorrect -- understanding is that is for consumers, not subclassers). Am I missing something here, or is this feature not implemented?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions