pekim / gobbi

gobbi is a set of generated Go bindings for gtk et al.
MIT License
28 stars 3 forks source link

Can not run go get github.com/pekim/gobbi/lib/gtk #9

Closed sunshine69 closed 4 years ago

sunshine69 commented 4 years ago

github.com/pekim/gobbi/lib/gio

../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1192:44: undefined: Converter ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1197:43: undefined: Initable ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1261:66: undefined: Converter ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1280:58: undefined: PollableInputStream ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1344:68: undefined: Converter ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1363:60: undefined: PollableOutputStream ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:1461:41: undefined: MenuModel ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:4593:55: undefined: PollableInputStream ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:4675:57: undefined: PollableOutputStream ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:6429:51: undefined: ProxyResolver ../../go/src/github.com/pekim/gobbi/lib/gio/v-.go:6429:51: too many errors

NOt sure what I did wrong ...

sunshine69 commented 4 years ago

OK I figured it out, it is a build tags issues. So the normal go get wont return success but get into the source file run ./gobbi build will successfully built it. Then for my test all I have to pass the tags (same in the gobbi script file.

pekim commented 4 years ago

As mentioned in https://pekim.github.io/gobbi/getting-started.html, start with getting the whole gobbi library,

go get github.com/pekim/gobbi

Then you'll be able to import a package such as gtk.

import "github.com/pekim/gobbi/lib/gtk"

That's followed by mention of the need to use build tags, and a link to a page with more details. (The link was broken, and I've just fixed it.)

I'm open to suggestions about how to improve that documentation.

sunshine69 commented 4 years ago

Thanks, I have not read the doc, yet jumps in as usual as the README.md is only the first I read. Thus if the information and quick start added to README is probably useful IMHO.

I now have some issues (form porting my app gotk3 to gobbi) - that the builder.ConnectSignals() has different signature. gotk3 allows me to define a signals := map[string]interface{} but gobbi requires a uintptr. I know I can connect signal manually for each widget but it is tiring ...

Any idea of quick way to connect signal?

pekim commented 4 years ago

In general gobbi provides support for typesafe connection of signal handlers. Connecting signals for a Builder would, of necessity, connect signal handlers in a non typesafe way. So unlike most of gobbi, which is generated, this will need to be hand coded. That's fair enough given the specific case.

I think that I can probably follow a broadly similar approach to gotk3 for this. But it'll be non-trivial, and will take me some time. I doubt that I'll be able to get to it until the weekend.