¿Cambiar ancho de un control segmentado basado en títulos en cada segmento?

Comienza así, que me gusta

Pero luego agrego un segmento y esto sucede:

Todo lo que necesito es un método para calcular el ancho sobre la marcha. Al final, haría algo como esto:

control.width = (labelWidths + marginWidths);
// where marginWidths = (marginWidth * control.numberOfSegments)