guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: guile_gi question: gtk+ interface object?


From: Andy Tai
Subject: Re: guile_gi question: gtk+ interface object?
Date: Tue, 14 Jun 2022 21:05:43 -0700

Hi, thanks for the reply.   The interface in GObject level does not
necessarily translate as is to GOOPS at guile level...

the context of this question is

(let ((iter (make <GtkTreeIter>))
 (model (make <GtkTreeModel>)))
(define selected (tree-selection:get-selected! selection model iter))

get_selected(GtkTreeModel out model, GtkTreeeIter out iter) has two
out parameters, model and iter, but I think GOOPS does type check on
arguments before invoking a method so  both parameters must be
initialized to the expected types.
The model parameter normally is instance of a GOBject class
"implementing" the GtkTreeModel interface (at the GOBject level), and
I cannot pass in a concrete GOBject class that implements GtkTreeModel
 as GOOPS will reject such calls--GOOPS does not understand "class
implementing an interface" at the GOBject level.  So I don't know how
to initialize the model parameter.

On Tue, Jun 14, 2022 at 12:42 PM Maxime Devos <maximedevos@telenet.be> wrote:
>
> Andy Tai schreef op di 14-06-2022 om 11:52 [-0700]:
> > question: how to create object representing Gtk+ (version 3)
> > interfaces? For example.
> >
> > (let (model (make <GtkTreeModel>)))
> >
> > would fail  because GtkTreeModel is an interface, not class derived
> > from GObject.
>
> By definition, you cannot instatiate interfaces, but you can
> instantiate classes derived from GtkTreeModel?
> Maybe guile-gi even supports defining an implementation yourself in
> Scheme with GOOPS ...
>



-- 
Andy Tai, atai@atai.org, Skype: licheng.tai, Line: andy_tai, WeChat: andytai1010
Year 2021 民國110年
自動的精神力是信仰與覺悟
自動的行為力是勞動與技能



reply via email to

[Prev in Thread] Current Thread [Next in Thread]