conformal / gotk3

Go bindings for GTK3
ISC License
470 stars 81 forks source link

Allow deprecated declarations #24

Closed xyproto closed 10 years ago

xyproto commented 11 years ago

These changes were needed in order for it to compile on Arch Linux. There may be better ways.

xyproto commented 11 years ago

I only wish to send pull requests for 64d57d3 and 2e808c9, but it seems like I must add a new branch with only those changes, then submit a new pull request, in order to achieve that.

jrick commented 10 years ago

What deprecated functions were you running into trying to build it? I'd prefer not to remove that error. If something is deprecated, building it should be toggleable with go's build tags for the particular GTK version you are running.

For example, GoTK3 now defaults to targeting GTK 3.10 as that is the most recent stable GTK version. To target the older 3.8 (and include functions that are deprecated beginning with 3.10), the gtk_3_8 build tag is used.

xyproto commented 10 years ago

I was using GTK 3.10. However, I no longer get these messages.

Please only consider commit 2e808c9 (if that should be of interest).

Thanks

jrick commented 10 years ago

Sorry for the delay and leaving this issues open, but I won't be making that change. The way gotk3 is designed, each type that can be passed into a function as a parameter gets its own interface (like IWidget for Widget) so any type embedding a Widget can be passed directly to the function. toWidget is the function name to satisify the IWidget interface. It doesn't make sense to name it something like ToNative where structs embedding a Widget also have their own ToNative, and the "subclass's" ToNative gets called when you actually wanted a GtkWidget pointer.

xyproto commented 10 years ago

No worries. Making the various GTK packages for Go compatible may not be the best idea in the first place.