Maybe change what he's eating as there's a lot of carbohydrates there, and it looks as though you're giving him too much, there also isn't enough veg.
Try this;
Breakfast - cereal and fruit, or an omelette. He's little and he doesn't need toast too.
Snack - fruit, maybe a few cubes of cheese, carrot sticks with a dip?
Lunch - pasta salad, so with veg and tuna, or a little chicken with veg. Again, he doesn't need a sandwich, you're giving him too much. His tummy's small compared to yours.
Dinner - steamed fish, new potatoes and veg?
Try to keep it balanced. Meat/fish/eggs (are all proteins). Veg/fruit (for vitamins and minerals). Cereals (give fibre and fortified vitamins like folic acid). As little sugar as you can (found in chocolate, fruit juice, cakes etc), and reduce the carbs (pasta and sandwiches). He needs calcium, from milk, spinach, cheese etc. It's OK to have chocolate, not every day though. Look at your portion control. He's small, he doesn't need adult sized meals like you.