When a custom property is updated, this function is triggered and changes the boolean value of all the 10 others. It's a long and dirty code... is there better way to do it ?
def swap(prop):
s = bpy.context.scene
if prop == 'meshes':
v = not s.meshes
s.meshes = not v
s.lights = v
s.cameras = v
s.nurbs = v
s.lattices = v
s.empties = v
s.texts = v
s.bones = v
s.surfaces = v
s.metaballs = v
s.fields = v
elif prop == 'lights':
v = not s.lights
s.meshes = v
s.lights = not v
s.cameras = v
s.nurbs = v
s.lattices = v
s.empties = v
s.texts = v
s.bones = v
s.surfaces = v
s.metaballs = v
s.fields = v
elif prop == 'cameras':
v = not s.cameras
s.meshes = v
s.lights = v
s.cameras = not v
s.nurbs = v
... and so on (11 times)