func ScaleButtonNew(size IconSize, min, max, step float64, icons []string) (*ScaleButton, error) {
	cicons := make([]*C.gchar, len(icons))
	for i, icon := range icons {
		cicons[i] = (*C.gchar)(C.CString(icon))
		defer C.free(unsafe.Pointer(cicons[i]))
	}
	cicons = append(cicons, nil)

	c := C.gtk_scale_button_new(C.GtkIconSize(size),
		C.gdouble(min),
		C.gdouble(max),
		C.gdouble(step),
		&cicons[0])
	if c == nil {
		return nil, nilPtrErr
	}
	return wrapScaleButton(glib.Take(unsafe.Pointer(c))), nil
}
func ScaleButtonNew(size IconSize, min, max, step float64, icons []string) (*ScaleButton, error) {
	cicons := make([]*C.gchar, len(icons))
	for i, icon := range icons {
		cicons[i] = (*C.gchar)(C.CString(icon))
		defer C.free(unsafe.Pointer(cicons[i]))
	}
	cicons = append(cicons, nil)

	c := C.gtk_scale_button_new(C.GtkIconSize(size),
		C.gdouble(min),
		C.gdouble(max),
		C.gdouble(step),
		&cicons[0])
	if c == nil {
		return nil, nilPtrErr
	}
	return wrapScaleButton(glib.Take(unsafe.Pointer(c))), nil
}
func ScaleButtonNew ( size IconSize , min , max , step float64 , icons [ ] string ) ( * ScaleButton , error ) { cicons := make ( [ ] * C . gchar , len ( icons ) ) for i , icon := range icons { cicons [ i ] = ( * C . gchar ) ( C . CString ( icon ) ) defer C . free ( unsafe . Pointer ( cicons [ i ] ) ) } cicons = append ( cicons , nil ) c := C . gtk_scale_button_new ( C . GtkIconSize ( size ) , C . gdouble ( min ) , C . gdouble ( max ) , C . gdouble ( step ) , & cicons [ 0 ] ) if c == nil { return nil , nilPtrErr } return wrapScaleButton ( glib . Take ( unsafe . Pointer ( c ) ) ) , nil }
// ScaleButtonNew() is a wrapper around gtk_scale_button_new().
ScaleButtonNew () is a wrapper around gtk_scale_button_new () .