code: func ButtonNewWithLabel(label string) (*Button, error) {
  	cstr := C.CString(label)
  	defer C.free(unsafe.Pointer(cstr))
  	c := C.gtk_button_new_with_label((*C.gchar)(cstr))
  	if c == nil {
  		return nil, nilPtrErr
  	}
  	obj := glib.Take(unsafe.Pointer(c))
  	return wrapButton(obj), nil
  }
docs: // ButtonNewWithLabel() is a wrapper around gtk_button_new_with_label().