use set's, since pythons 3.2's optimizer converts these to frozensets, lookups are...
authorCampbell Barton <ideasman42@gmail.com>
Mon, 7 Mar 2011 13:23:45 +0000 (13:23 +0000)
committerCampbell Barton <ideasman42@gmail.com>
Mon, 7 Mar 2011 13:23:45 +0000 (13:23 +0000)
24 files changed:
release/scripts/ui/properties_data_bone.py
release/scripts/ui/properties_data_curve.py
release/scripts/ui/properties_data_lamp.py
release/scripts/ui/properties_data_mesh.py
release/scripts/ui/properties_data_metaball.py
release/scripts/ui/properties_data_modifier.py
release/scripts/ui/properties_game.py
release/scripts/ui/properties_material.py
release/scripts/ui/properties_object.py
release/scripts/ui/properties_object_constraint.py
release/scripts/ui/properties_particle.py
release/scripts/ui/properties_physics_common.py
release/scripts/ui/properties_physics_field.py
release/scripts/ui/properties_physics_fluid.py
release/scripts/ui/properties_render.py
release/scripts/ui/properties_texture.py
release/scripts/ui/space_dopesheet.py
release/scripts/ui/space_image.py
release/scripts/ui/space_outliner.py
release/scripts/ui/space_sequencer.py
release/scripts/ui/space_userpref.py
release/scripts/ui/space_userpref_keymap.py
release/scripts/ui/space_view3d.py
release/scripts/ui/space_view3d_toolbar.py

index feca4fc2502fd86c89a5c61283ba37e09fe79974..a2c74b31c5ed89a6c2083f7edac1cf8e5047ac68 100644 (file)
@@ -123,7 +123,7 @@ class BONE_PT_transform_locks(BoneButtonsPanel, bpy.types.Panel):
         col.active = not (bone.parent and bone.use_connect)
 
         col = row.column()
-        if pchan.rotation_mode in ('QUATERNION', 'AXIS_ANGLE'):
+        if pchan.rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
             col.prop(pchan, "lock_rotations_4d", text="Lock Rotation")
             if pchan.lock_rotations_4d:
                 col.prop(pchan, "lock_rotation_w", text="W")
index 3ff333f959f336daccdcc02697620f882b5e7209..9acd40a3d12e78b56efdd5fe5274edf424be8744 100644 (file)
@@ -28,7 +28,7 @@ class CurveButtonsPanel():
 
     @classmethod
     def poll(cls, context):
-        return (context.object and context.object.type in ('CURVE', 'SURFACE', 'FONT') and context.curve)
+        return (context.object and context.object.type in {'CURVE', 'SURFACE', 'FONT'} and context.curve)
 
 
 class CurveButtonsPanelCurve(CurveButtonsPanel):
index 15512cf3b853191dbb9c51c2c778a30577eaa0b9..52268bfd8343ead0de313e3dd4ac705f0c4a3a59 100644 (file)
@@ -91,7 +91,7 @@ class DATA_PT_lamp(DataButtonsPanel, bpy.types.Panel):
         sub.prop(lamp, "color", text="")
         sub.prop(lamp, "energy")
 
-        if lamp.type in ('POINT', 'SPOT'):
+        if lamp.type in {'POINT', 'SPOT'}:
             sub.label(text="Falloff:")
             sub.prop(lamp, "falloff_type", text="")
             sub.prop(lamp, "distance")
@@ -195,7 +195,7 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         lamp = context.lamp
         engine = context.scene.render.engine
-        return (lamp and lamp.type in ('POINT', 'SUN', 'SPOT', 'AREA')) and (engine in cls.COMPAT_ENGINES)
+        return (lamp and lamp.type in {'POINT', 'SUN', 'SPOT', 'AREA'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
@@ -234,7 +234,7 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
             col = split.column()
             col.label(text="Sampling:")
 
-            if lamp.type in ('POINT', 'SUN', 'SPOT'):
+            if lamp.type in {'POINT', 'SUN', 'SPOT'}:
                 sub = col.row()
 
                 sub.prop(lamp, "shadow_ray_samples", text="Samples")
@@ -265,7 +265,7 @@ class DATA_PT_shadow(DataButtonsPanel, bpy.types.Panel):
             col.label(text="Buffer Type:")
             col.row().prop(lamp, "shadow_buffer_type", expand=True)
 
-            if lamp.shadow_buffer_type in ('REGULAR', 'HALFWAY', 'DEEP'):
+            if lamp.shadow_buffer_type in {'REGULAR', 'HALFWAY', 'DEEP'}:
                 split = layout.split()
 
                 col = split.column()
@@ -372,7 +372,7 @@ class DATA_PT_falloff_curve(DataButtonsPanel, bpy.types.Panel):
         lamp = context.lamp
         engine = context.scene.render.engine
 
-        return (lamp and lamp.type in ('POINT', 'SPOT') and lamp.falloff_type == 'CUSTOM_CURVE') and (engine in cls.COMPAT_ENGINES)
+        return (lamp and lamp.type in {'POINT', 'SPOT'} and lamp.falloff_type == 'CUSTOM_CURVE') and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         lamp = context.lamp
index aebd43fcb4d0db10036c9cfaf474dc1e73e8f059..fcf03cf0dcc59fd96bbc9b1cd49b092ef9798f87 100644 (file)
@@ -118,7 +118,7 @@ class DATA_PT_vertex_groups(MeshButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         engine = context.scene.render.engine
         obj = context.object
-        return (obj and obj.type in ('MESH', 'LATTICE') and (engine in cls.COMPAT_ENGINES))
+        return (obj and obj.type in {'MESH', 'LATTICE'} and (engine in cls.COMPAT_ENGINES))
 
     def draw(self, context):
         layout = self.layout
@@ -167,7 +167,7 @@ class DATA_PT_shape_keys(MeshButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         engine = context.scene.render.engine
         obj = context.object
-        return (obj and obj.type in ('MESH', 'LATTICE', 'CURVE', 'SURFACE') and (engine in cls.COMPAT_ENGINES))
+        return (obj and obj.type in {'MESH', 'LATTICE', 'CURVE', 'SURFACE'} and (engine in cls.COMPAT_ENGINES))
 
     def draw(self, context):
         layout = self.layout
index cf7aa8c08fd99c41d134b7c55f7b2c1b3f048856..961d11d360c05c5ecca40db9e23b4a894b1fa4d6 100644 (file)
@@ -96,7 +96,7 @@ class DATA_PT_metaball_element(DataButtonsPanel, bpy.types.Panel):
 
         col = split.column(align=True)
 
-        if metaelem.type in ('CUBE', 'ELLIPSOID'):
+        if metaelem.type in {'CUBE', 'ELLIPSOID'}:
             col.label(text="Size:")
             col.prop(metaelem, "size_x", text="X")
             col.prop(metaelem, "size_y", text="Y")
index d038fb5ab2f3a3b6f812150f75341534107487e2..8d5bc0f3519b79ae896ac3f020bb275ad2faca71 100644 (file)
@@ -536,7 +536,7 @@ class DATA_PT_modifiers(ModifierButtonsPanel, bpy.types.Panel):
         col.label(text="Deform:")
         col.prop(md, "factor")
         col.prop(md, "limits", slider=True)
-        if md.deform_method in ('TAPER', 'STRETCH'):
+        if md.deform_method in {'TAPER', 'STRETCH'}:
             col.prop(md, "lock_x")
             col.prop(md, "lock_y")
 
index 3db16ef0563c3e5d526fe570fb3e57587365035a..4c6bb0e08ec8e357553b0e51338877f9c9ca7724 100644 (file)
@@ -47,7 +47,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
         layout.separator()
 
         #if game.physics_type == 'DYNAMIC':
-        if game.physics_type in ('DYNAMIC', 'RIGID_BODY'):
+        if game.physics_type in {'DYNAMIC', 'RIGID_BODY'}:
             split = layout.split()
 
             col = split.column()
@@ -163,7 +163,7 @@ class PHYSICS_PT_game_physics(PhysicsButtonsPanel, bpy.types.Panel):
             subsub.active = game.use_anisotropic_friction
             subsub.prop(game, "friction_coefficients", text="", slider=True)
 
-        elif game.physics_type in ('SENSOR', 'INVISIBLE', 'NO_COLLISION', 'OCCLUDE'):
+        elif game.physics_type in {'SENSOR', 'INVISIBLE', 'NO_COLLISION', 'OCCLUDE'}:
             layout.prop(ob, "hide_render", text="Invisible")
 
 
@@ -175,7 +175,7 @@ class PHYSICS_PT_game_collision_bounds(PhysicsButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         game = context.object.game
         rd = context.scene.render
-        return (game.physics_type in ('DYNAMIC', 'RIGID_BODY', 'SENSOR', 'SOFT_BODY', 'STATIC')) and (rd.engine in cls.COMPAT_ENGINES)
+        return (game.physics_type in {'DYNAMIC', 'RIGID_BODY', 'SENSOR', 'SOFT_BODY', 'STATIC'}) and (rd.engine in cls.COMPAT_ENGINES)
 
     def draw_header(self, context):
         game = context.active_object.game
index aee3aeeaeaea4fb418b7a5c75a6dd2fd1e62583b..d169629b6f614d294aee178d49af4c2bbd6cdaf8 100644 (file)
@@ -161,13 +161,13 @@ class MATERIAL_PT_pipeline(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return mat and (not simple_material(mat)) and (mat.type in ('SURFACE', 'WIRE', 'VOLUME')) and (engine in cls.COMPAT_ENGINES)
+        return mat and (not simple_material(mat)) and (mat.type in {'SURFACE', 'WIRE', 'VOLUME'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self. layout
 
         mat = context.material
-        mat_type = mat.type in ('SURFACE', 'WIRE')
+        mat_type = mat.type in {'SURFACE', 'WIRE'}
 
         row = layout.row()
         row.active = mat_type
@@ -209,7 +209,7 @@ class MATERIAL_PT_diffuse(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
@@ -264,7 +264,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
@@ -284,7 +284,7 @@ class MATERIAL_PT_specular(MaterialButtonsPanel, bpy.types.Panel):
         col.prop(mat, "use_specular_ramp", text="Ramp")
 
         col = layout.column()
-        if mat.specular_shader in ('COOKTORR', 'PHONG'):
+        if mat.specular_shader in {'COOKTORR', 'PHONG'}:
             col.prop(mat, "specular_hardness", text="Hardness")
         elif mat.specular_shader == 'BLINN':
             row = col.row()
@@ -317,14 +317,14 @@ class MATERIAL_PT_shading(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
 
         mat = active_node_mat(context.material)
 
-        if mat.type in ('SURFACE', 'WIRE'):
+        if mat.type in {'SURFACE', 'WIRE'}:
             split = layout.split()
 
             col = split.column()
@@ -352,7 +352,7 @@ class MATERIAL_PT_transp(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw_header(self, context):
         mat = context.material
@@ -417,7 +417,7 @@ class MATERIAL_PT_mirror(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw_header(self, context):
         raym = active_node_mat(context.material).raytrace_mirror
@@ -475,7 +475,7 @@ class MATERIAL_PT_sss(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw_header(self, context):
         mat = active_node_mat(context.material)
@@ -645,7 +645,7 @@ class MATERIAL_PT_strand(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return mat and (mat.type in ('SURFACE', 'WIRE', 'HALO')) and (engine in cls.COMPAT_ENGINES)
+        return mat and (mat.type in {'SURFACE', 'WIRE', 'HALO'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
@@ -691,7 +691,7 @@ class MATERIAL_PT_options(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
@@ -739,7 +739,7 @@ class MATERIAL_PT_shadow(MaterialButtonsPanel, bpy.types.Panel):
     def poll(cls, context):
         mat = context.material
         engine = context.scene.render.engine
-        return check_material(mat) and (mat.type in ('SURFACE', 'WIRE')) and (engine in cls.COMPAT_ENGINES)
+        return check_material(mat) and (mat.type in {'SURFACE', 'WIRE'}) and (engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
         layout = self.layout
@@ -875,7 +875,7 @@ class MATERIAL_PT_volume_lighting(VolumeButtonsPanel, bpy.types.Panel):
             sub = col.column()
             sub.active = vol.use_light_cache
             sub.prop(vol, "cache_resolution")
-        elif vol.light_method in ('MULTIPLE_SCATTERING', 'SHADED_PLUS_MULTIPLE_SCATTERING'):
+        elif vol.light_method in {'MULTIPLE_SCATTERING', 'SHADED_PLUS_MULTIPLE_SCATTERING'}:
             sub = col.column()
             sub.enabled = True
             sub.active = False
index fffbc54d4bf9038407c726000266410a86050ec7..4c1f4d28d5d79f9c785a5ae73172003b98e81812 100644 (file)
@@ -111,7 +111,7 @@ class OBJECT_PT_transform_locks(ObjectButtonsPanel, bpy.types.Panel):
         col.prop(ob, "lock_location", text="Location")
 
         col = row.column()
-        if ob.rotation_mode in ('QUATERNION', 'AXIS_ANGLE'):
+        if ob.rotation_mode in {'QUATERNION', 'AXIS_ANGLE'}:
             col.prop(ob, "lock_rotations_4d", text="Rotation")
             if ob.lock_rotations_4d:
                 col.prop(ob, "lock_rotation_w", text="W")
index 7490fc46ba7f4c0c5c4382bb94d59b55aac73de7..9cc2b7637d44d45ecf61c4dbbfa25932a20c18f1 100644 (file)
@@ -34,7 +34,7 @@ class ConstraintButtonsPanel():
             # match enum type to our functions, avoids a lookup table.
             getattr(self, con.type)(context, box, con)
 
-            if con.type not in ('RIGID_BODY_JOINT', 'NULL'):
+            if con.type not in {'RIGID_BODY_JOINT', 'NULL'}:
                 box.prop(con, "influence")
 
     def space_template(self, layout, con, target=True, owner=True):
@@ -65,7 +65,7 @@ class ConstraintButtonsPanel():
                     row = layout.row()
                     row.label(text="Head/Tail:")
                     row.prop(con, "head_tail", text="")
-            elif con.target.type in ('MESH', 'LATTICE'):
+            elif con.target.type in {'MESH', 'LATTICE'}:
                 layout.prop_search(con, "subtarget", con.target, "vertex_groups", text="Vertex Group")
 
     def ik_template(self, layout, con):
index ee25593db9561e2fcf81f4741ca9873a2ae28722..dc1e395089c35d9a899afc35ca6a490b91c4388f 100644 (file)
@@ -30,7 +30,7 @@ def particle_panel_enabled(context, psys):
     if psys == None:
         return True
     phystype = psys.settings.physics_type
-    if psys.settings.type in ('EMITTER', 'REACTOR') and phystype in ('NO', 'KEYED'):
+    if psys.settings.type in {'EMITTER', 'REACTOR'} and phystype in {'NO', 'KEYED'}:
         return True
     else:
         return (psys.point_cache.is_baked is False) and (not psys.is_edited) and (not context.particle_system_editable)
@@ -321,7 +321,7 @@ class PARTICLE_PT_cache(ParticleButtonsPanel, bpy.types.Panel):
         phystype = psys.settings.physics_type
         if phystype == 'NO' or phystype == 'KEYED':
             return False
-        return (psys.settings.type in ('EMITTER', 'REACTOR') or (psys.settings.type == 'HAIR' and (psys.use_hair_dynamics or psys.point_cache.is_baked))) and engine in cls.COMPAT_ENGINES
+        return (psys.settings.type in {'EMITTER', 'REACTOR'} or (psys.settings.type == 'HAIR' and (psys.use_hair_dynamics or psys.point_cache.is_baked))) and engine in cls.COMPAT_ENGINES
 
     def draw(self, context):
         psys = context.particle_system
@@ -593,7 +593,7 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel):
             col.prop(boids, "pitch", slider=True)
             col.prop(boids, "height", slider=True)
 
-        if psys and part.physics_type in ('KEYED', 'BOIDS', 'FLUID'):
+        if psys and part.physics_type in {'KEYED', 'BOIDS', 'FLUID'}:
             if part.physics_type == 'BOIDS':
                 layout.label(text="Relations:")
             elif part.physics_type == 'FLUID':
index 852586599aaa1fc4ceb665505c1afce7507e6f36..e03c29cd549e03ed458625e0454e90a69dae6c00 100644 (file)
@@ -89,7 +89,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype):
     col.operator("ptcache.remove", icon='ZOOMOUT', text="")
 
     row = layout.row()
-    if cachetype in ('PSYS', 'HAIR', 'SMOKE'):
+    if cachetype in {'PSYS', 'HAIR', 'SMOKE'}:
         row.prop(cache, "use_external")
 
     if cache.use_external:
@@ -121,7 +121,7 @@ def point_cache_ui(self, context, cache, enabled, cachetype):
             row.enabled = enabled
             row.prop(cache, "frame_start")
             row.prop(cache, "frame_end")
-        if cachetype not in ('SMOKE', 'CLOTH'):
+        if cachetype not in {'SMOKE', 'CLOTH'}:
             row.prop(cache, "frame_step")
             row.prop(cache, "use_quick_cache")
         if cachetype != 'SMOKE':
index 8a697806aa12c22c9320ac3f95a01c59fc30b3b0..7023f0c5058280f9f71e4776edcf4eb5d4818bb2 100644 (file)
@@ -55,7 +55,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
 
         split.prop(field, "type", text="")
 
-        if field.type not in ('NONE', 'GUIDE', 'TEXTURE'):
+        if field.type not in {'NONE', 'GUIDE', 'TEXTURE'}:
             split = layout.split(percentage=0.2)
             split.label(text="Shape:")
             split.prop(field, "shape", text="")
@@ -112,7 +112,7 @@ class PHYSICS_PT_field(PhysicButtonsPanel, bpy.types.Panel):
         else:
             basic_force_field_settings_ui(self, context, field)
 
-        if field.type not in ('NONE', 'GUIDE'):
+        if field.type not in {'NONE', 'GUIDE'}:
 
             layout.label(text="Falloff:")
             layout.prop(field, "falloff_type", expand=True)
index 6385a535a447f1bce6419e8fa5ef304e9bde8b42..06b614d0b45d8f158d0217a1fdec3c2eaa6cc028 100644 (file)
@@ -49,11 +49,11 @@ class PHYSICS_PT_fluid(PhysicButtonsPanel, bpy.types.Panel):
                 return
 
             row.prop(fluid, "type")
-            if fluid.type not in ('NONE', 'DOMAIN', 'PARTICLE', 'FLUID'):
+            if fluid.type not in {'NONE', 'DOMAIN', 'PARTICLE', 'FLUID'}:
                 row.prop(fluid, "use", text="")
 
             layout = layout.column()
-            if fluid.type not in ('NONE', 'DOMAIN', 'PARTICLE', 'FLUID'):
+            if fluid.type not in {'NONE', 'DOMAIN', 'PARTICLE', 'FLUID'}:
                 layout.active = fluid.use
 
             if fluid.type == 'DOMAIN':
index 4916ba226c330aaf7c15337b15848c1325df060e..c5e56a61a8ccf696146e436aac153228e0004224 100644 (file)
@@ -299,13 +299,13 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
         col.prop(rd, "use_overwrite")
         col.prop(rd, "use_placeholder")
 
-        if file_format in ('AVI_JPEG', 'JPEG'):
+        if file_format in {'AVI_JPEG', 'JPEG'}:
             layout.prop(rd, "file_quality", slider=True)
 
         if file_format == 'PNG':
             layout.prop(rd, "file_quality", slider=True, text="Compression")
 
-        if file_format in ('OPEN_EXR', 'MULTILAYER'):
+        if file_format in {'OPEN_EXR', 'MULTILAYER'}:
             row = layout.row()
             row.prop(rd, "exr_codec", text="Codec")
 
@@ -325,7 +325,7 @@ class RENDER_PT_output(RenderButtonsPanel, bpy.types.Panel):
             col.prop(rd, "jpeg2k_preset", text="")
             col.prop(rd, "jpeg2k_ycc")
 
-        elif file_format in ('CINEON', 'DPX'):
+        elif file_format in {'CINEON', 'DPX'}:
 
             split = layout.split()
             split.label("FIXME: hard coded Non-Linear, Gamma:1.0")
@@ -384,7 +384,7 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
     @classmethod
     def poll(cls, context):
         rd = context.scene.render
-        return rd.file_format in ('FFMPEG', 'XVID', 'H264', 'THEORA')
+        return rd.file_format in {'FFMPEG', 'XVID', 'H264', 'THEORA'}
 
     def draw(self, context):
         layout = self.layout
@@ -395,7 +395,7 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
 
         split = layout.split()
         split.prop(rd, "ffmpeg_format")
-        if rd.ffmpeg_format in ('AVI', 'QUICKTIME', 'MKV', 'OGG'):
+        if rd.ffmpeg_format in {'AVI', 'QUICKTIME', 'MKV', 'OGG'}:
             split.prop(rd, "ffmpeg_codec")
         else:
             split.label()
@@ -421,7 +421,7 @@ class RENDER_PT_encoding(RenderButtonsPanel, bpy.types.Panel):
         layout.separator()
 
         # Audio:
-        if rd.ffmpeg_format not in ('MP3', ):
+        if rd.ffmpeg_format not in {'MP3'}:
             layout.prop(rd, "ffmpeg_audio_codec", text="Audio Codec")
 
         split = layout.split()
@@ -535,10 +535,7 @@ class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
             fps_rate = round(rd.fps / rd.fps_base, 2)
 
         # TODO: Change the following to iterate over existing presets
-        if (fps_rate in (23.98, 24, 25, 29.97, 30, 50, 59.94, 60)):
-            custom_framerate = False
-        else:
-            custom_framerate = True
+        custom_framerate = (fps_rate not in {23.98, 24, 25, 29.97, 30, 50, 59.94, 60})
 
         if custom_framerate == True:
             fps_label_text = "Custom (" + str(fps_rate) + " fps)"
@@ -547,7 +544,7 @@ class RENDER_PT_dimensions(RenderButtonsPanel, bpy.types.Panel):
 
         sub.menu("RENDER_MT_framerate_presets", text=fps_label_text)
 
-        if (bpy.types.RENDER_MT_framerate_presets.bl_label == "Custom") or (custom_framerate == True):
+        if custom_framerate or (bpy.types.RENDER_MT_framerate_presets.bl_label == "Custom"):
             sub.prop(rd, "fps")
             sub.prop(rd, "fps_base", text="/")
         subrow = sub.row(align=True)
@@ -618,7 +615,7 @@ class RENDER_PT_bake(RenderButtonsPanel, bpy.types.Panel):
 
         if rd.bake_type == 'NORMALS':
             layout.prop(rd, "bake_normal_space")
-        elif rd.bake_type in ('DISPLACEMENT', 'AO'):
+        elif rd.bake_type in {'DISPLACEMENT', 'AO'}:
             layout.prop(rd, "use_bake_normalize")
 
         # col.prop(rd, "bake_aa_mode")
index 22bb563ee5817efeb17604f9f0374a908626624a..0b9826916fe7e4630578c358aa8302074c474a94 100644 (file)
@@ -261,13 +261,13 @@ class TEXTURE_PT_wood(TextureTypePanel, bpy.types.Panel):
         layout.prop(tex, "wood_type", expand=True)
 
         col = layout.column()
-        col.active = tex.wood_type in ('RINGNOISE', 'BANDNOISE')
+        col.active = tex.wood_type in {'RINGNOISE', 'BANDNOISE'}
         col.label(text="Noise:")
         col.row().prop(tex, "noise_type", text="Type", expand=True)
         layout.prop(tex, "noise_basis", text="Basis")
 
         split = layout.split()
-        split.active = tex.wood_type in ('RINGNOISE', 'BANDNOISE')
+        split.active = tex.wood_type in {'RINGNOISE', 'BANDNOISE'}
 
         col = split.column()
         col.prop(tex, "noise_scale", text="Size")
@@ -332,7 +332,7 @@ class TEXTURE_PT_blend(TextureTypePanel, bpy.types.Panel):
 
         sub = layout.row()
 
-        sub.active = (tex.progression in ('LINEAR', 'QUADRATIC', 'EASING', 'RADIAL'))
+        sub.active = (tex.progression in {'LINEAR', 'QUADRATIC', 'EASING', 'RADIAL'})
         sub.prop(tex, "use_flip_axis", expand=True)
 
 
@@ -372,7 +372,7 @@ class TEXTURE_PT_image(TextureTypePanel, bpy.types.Panel):
 def texture_filter_common(tex, layout):
     layout.label(text="Filter:")
     layout.prop(tex, "filter_type", text="")
-    if tex.use_mipmap and tex.filter_type in ('AREA', 'EWA', 'FELINE'):
+    if tex.use_mipmap and tex.filter_type in {'AREA', 'EWA', 'FELINE'}:
         if tex.filter_type == 'FELINE':
             layout.prop(tex, "filter_probes", text="Probes")
         else:
@@ -552,11 +552,11 @@ class TEXTURE_PT_musgrave(TextureTypePanel, bpy.types.Panel):
 
         musgrave_type = tex.musgrave_type
         col = split.column()
-        if musgrave_type in ('HETERO_TERRAIN', 'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL'):
+        if musgrave_type in {'HETERO_TERRAIN', 'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL'}:
             col.prop(tex, "offset")
-        if musgrave_type in ('MULTIFRACTAL', 'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL'):
+        if musgrave_type in {'MULTIFRACTAL', 'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL'}:
             col.prop(tex, "noise_intensity", text="Intensity")
-        if musgrave_type in ('RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL'):
+        if musgrave_type in {'RIDGED_MULTIFRACTAL', 'HYBRID_MULTIFRACTAL'}:
             col.prop(tex, "gain")
 
         layout.label(text="Noise:")
@@ -643,7 +643,7 @@ class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel):
         vd = tex.voxel_data
 
         layout.prop(vd, "file_format")
-        if vd.file_format in ('BLENDER_VOXEL', 'RAW_8BIT'):
+        if vd.file_format in {'BLENDER_VOXEL', 'RAW_8BIT'}:
             layout.prop(vd, "filepath")
         if vd.file_format == 'RAW_8BIT':
             layout.prop(vd, "resolution")
@@ -655,7 +655,7 @@ class TEXTURE_PT_voxeldata(TextureButtonsPanel, bpy.types.Panel):
             layout.template_image(tex, "image", tex.image_user, compact=True)
             #layout.prop(vd, "frame_duration")
 
-        if vd.file_format in ('BLENDER_VOXEL', 'RAW_8BIT'):
+        if vd.file_format in {'BLENDER_VOXEL', 'RAW_8BIT'}:
             layout.prop(vd, "use_still_frame")
             row = layout.row()
             row.active = vd.use_still_frame
@@ -708,9 +708,9 @@ class TEXTURE_PT_pointdensity(TextureButtonsPanel, bpy.types.Panel):
 
         col.label(text="Color Source:")
         col.prop(pd, "color_source", text="")
-        if pd.color_source in ('PARTICLE_SPEED', 'PARTICLE_VELOCITY'):
+        if pd.color_source in {'PARTICLE_SPEED', 'PARTICLE_VELOCITY'}:
             col.prop(pd, "speed_scale")
-        if pd.color_source in ('PARTICLE_SPEED', 'PARTICLE_AGE'):
+        if pd.color_source in {'PARTICLE_SPEED', 'PARTICLE_AGE'}:
             layout.template_color_ramp(pd, "color_ramp", expand=True)
 
         col = split.column()
@@ -818,7 +818,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel):
                 layout.prop(tex, "map_mode", expand=True)
 
                 row = layout.row()
-                row.active = tex.map_mode in ('FIXED', 'TILED')
+                row.active = tex.map_mode in {'FIXED', 'TILED'}
                 row.prop(tex, "angle")
         else:
             if isinstance(idblock, bpy.types.Material):
@@ -829,7 +829,7 @@ class TEXTURE_PT_mapping(TextureSlotPanel, bpy.types.Panel):
                 split = layout.split()
 
                 col = split.column()
-                if tex.texture_coords in ('ORCO', 'UV'):
+                if tex.texture_coords in {'ORCO', 'UV'}:
                     col.prop(tex, "use_from_dupli")
                 elif tex.texture_coords == 'OBJECT':
                     col.prop(tex, "use_from_original")
@@ -881,7 +881,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
             return sub  # XXX, temp. use_map_normal needs to override.
 
         if isinstance(idblock, bpy.types.Material):
-            if idblock.type in ('SURFACE', 'WIRE'):
+            if idblock.type in {'SURFACE', 'WIRE'}:
                 split = layout.split()
 
                 col = split.column()
@@ -1019,7 +1019,7 @@ class TEXTURE_PT_influence(TextureSlotPanel, bpy.types.Panel):
             row.prop(tex, "bump_method", text="Method")
 
             sub = row.row()
-            sub.active = tex.bump_method in ('BUMP_DEFAULT', 'BUMP_BEST_QUALITY')
+            sub.active = tex.bump_method in {'BUMP_DEFAULT', 'BUMP_BEST_QUALITY'}
             sub.prop(tex, "bump_objectspace", text="Space")
 
 
index f68df00c8066bdcffd686b3284a57ad17e9454ce..24c98982de1e6fc9fd657c6b9ed7ff33b06ae42f 100644 (file)
@@ -118,7 +118,7 @@ class DOPESHEET_HT_header(bpy.types.Header):
             # filters which will work here and are useful (especially for character animation)
             dopesheet_filter(layout, context, genericFiltersOnly=True)
 
-        if st.mode in ('ACTION', 'SHAPEKEY'):
+        if st.mode in {'ACTION', 'SHAPEKEY'}:
             layout.template_ID(st, "action", new="action.new")
 
         # Grease Pencil mode doesn't need snapping, as it's frame-aligned only
@@ -221,7 +221,7 @@ class DOPESHEET_MT_marker(bpy.types.Menu):
         layout.operator("marker.rename", text="Rename Marker")
         layout.operator("marker.move", text="Grab/Move Marker")
 
-        if st.mode in ('ACTION', 'SHAPEKEY') and st.action:
+        if st.mode in {'ACTION', 'SHAPEKEY'} and st.action:
             layout.separator()
             layout.prop(st, "show_pose_markers")
 
index 171b10aeee13ef9df65596f66833d956244845fa..46b164c6fdc2bf34c631b853d55b6b017286bd10 100644 (file)
@@ -143,7 +143,7 @@ class IMAGE_MT_image(bpy.types.Menu):
                 # only for dirty && specific image types, perhaps
                 # this could be done in operator poll too
                 if ima.is_dirty:
-                    if ima.source in ('FILE', 'GENERATED') and ima.type != 'MULTILAYER':
+                    if ima.source in {'FILE', 'GENERATED'} and ima.type != 'MULTILAYER':
                         layout.operator("image.pack", text="Pack As PNG").as_png = True
 
             layout.separator()
@@ -404,7 +404,7 @@ class IMAGE_HT_header(bpy.types.Header):
             row = layout.row(align=True)
             if ima.type == 'COMPOSITE':
                 row.operator("image.record_composite", icon='REC')
-            if ima.type == 'COMPOSITE' and ima.source in ('MOVIE', 'SEQUENCE'):
+            if ima.type == 'COMPOSITE' and ima.source in {'MOVIE', 'SEQUENCE'}:
                 row.operator("image.play_composite", icon='PLAY')
 
         if show_uvedit or sima.use_image_paint:
index 219dd1de1176ab5d6eb6925f90d9b55806814797..4108e7358b4b529fb80fbcf3e4cf8c402677ad04 100644 (file)
@@ -72,7 +72,7 @@ class OUTLINER_MT_view(bpy.types.Menu):
         space = context.space_data
 
         col = layout.column()
-        if space.display_mode not in ('DATABLOCKS', 'USER_PREFERENCES', 'KEYMAPS'):
+        if space.display_mode not in {'DATABLOCKS', 'USER_PREFERENCES', 'KEYMAPS'}:
             col.prop(space, "show_restrict_columns")
             col.separator()
             col.operator("outliner.show_active")
index c9a9a63986027a7ebc568dea6cbe468c1aa5c7a7..872b64e0e6d1d2048b0d17092f03094da85dc04e 100644 (file)
@@ -387,11 +387,11 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
         if not strip:
             return False
 
-        return strip.type in ('ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
+        return strip.type in {'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
                               'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
                               'PLUGIN',
                               'WIPE', 'GLOW', 'TRANSFORM', 'COLOR', 'SPEED',
-                              'MULTICAM')
+                              'MULTICAM'}
 
     def draw(self, context):
         layout = self.layout
@@ -417,7 +417,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
 
             col = layout.column()
             col.prop(strip, "blur_width", slider=True)
-            if strip.transition_type in ('SINGLE', 'DOUBLE'):
+            if strip.transition_type in {'SINGLE', 'DOUBLE'}:
                 col.prop(strip, "angle")
 
         elif strip.type == 'GLOW':
@@ -463,7 +463,7 @@ class SEQUENCER_PT_effect(SequencerButtonsPanel, bpy.types.Panel):
         col = layout.column(align=True)
         if strip.type == 'SPEED':
             col.prop(strip, "multiply_speed")
-        elif strip.type in ('CROSS', 'GAMMA_CROSS', 'PLUGIN', 'WIPE'):
+        elif strip.type in {'CROSS', 'GAMMA_CROSS', 'PLUGIN', 'WIPE'}:
                 col.prop(strip, "use_default_fade", "Default fade")
                 if not strip.use_default_fade:
                     col.prop(strip, "effect_fader", text="Effect fader")
@@ -525,12 +525,12 @@ class SEQUENCER_PT_input(SequencerButtonsPanel, bpy.types.Panel):
         if not strip:
             return False
 
-        return strip.type in ('MOVIE', 'IMAGE', 'SCENE', 'META',
+        return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'META',
                               'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
                               'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
                               'PLUGIN',
                               'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
-                              'MULTICAM', 'SPEED')
+                              'MULTICAM', 'SPEED'}
 
     def draw(self, context):
         layout = self.layout
@@ -675,12 +675,12 @@ class SEQUENCER_PT_filter(SequencerButtonsPanel, bpy.types.Panel):
         if not strip:
             return False
 
-        return strip.type in ('MOVIE', 'IMAGE', 'SCENE', 'META',
+        return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'META',
                               'ADD', 'SUBTRACT', 'ALPHA_OVER', 'ALPHA_UNDER',
                               'CROSS', 'GAMMA_CROSS', 'MULTIPLY', 'OVER_DROP',
                               'PLUGIN',
                               'WIPE', 'GLOW', 'TRANSFORM', 'COLOR',
-                              'MULTICAM', 'SPEED')
+                              'MULTICAM', 'SPEED'}
 
     def draw(self, context):
         layout = self.layout
@@ -737,7 +737,7 @@ class SEQUENCER_PT_proxy(SequencerButtonsPanel, bpy.types.Panel):
         if not strip:
             return False
 
-        return strip.type in ('MOVIE', 'IMAGE', 'SCENE', 'META', 'MULTICAM')
+        return strip.type in {'MOVIE', 'IMAGE', 'SCENE', 'META', 'MULTICAM'}
 
     def draw_header(self, context):
         strip = act_strip(context)
index 939855918242f9a55fa6fbcc5334e9b0e03bbc3e..a97c545e502fb5ae2ced08cca8a7c66b34998218 100644 (file)
@@ -993,7 +993,7 @@ class USERPREF_PT_addons(bpy.types.Panel):
         module_names = {mod.__name__ for mod, info in addons}
         missing_modules = {ext for ext in used_ext if ext not in module_names}
 
-        if missing_modules and filter in ("All", "Enabled"):
+        if missing_modules and filter in {"All", "Enabled"}:
             col.column().separator()
             col.column().label(text="Missing script files")
 
index 3c002047b0694817ec18cf058594fe96723721e6..9e338aade1c8c3b6c3ea26c67d97f667772140dc 100644 (file)
@@ -292,7 +292,7 @@ class InputKeyMapPanel(bpy.types.Panel):
 
             box.enabled = km.is_user_defined
 
-            if map_type not in ('TEXTINPUT', 'TIMER'):
+            if map_type not in {'TEXTINPUT', 'TIMER'}:
                 split = box.split(percentage=0.4)
                 sub = split.row()
 
index 730c442ad25aaa355d88ded154e57ecbb526104b..751d54dd289b199b46fe263310912e392ba0748f 100644 (file)
@@ -42,13 +42,13 @@ class VIEW3D_HT_header(bpy.types.Header):
             sub.menu("VIEW3D_MT_view")
 
             # Select Menu
-            if mode_string not in ('EDIT_TEXT', 'SCULPT', 'PAINT_WEIGHT', 'PAINT_VERTEX', 'PAINT_TEXTURE'):
+            if mode_string not in {'EDIT_TEXT', 'SCULPT', 'PAINT_WEIGHT', 'PAINT_VERTEX', 'PAINT_TEXTURE'}:
                 sub.menu("VIEW3D_MT_select_%s" % mode_string.lower())
 
             if edit_object:
                 sub.menu("VIEW3D_MT_edit_%s" % edit_object.type.lower())
             elif obj:
-                if mode_string not in ('PAINT_TEXTURE'):
+                if mode_string not in {'PAINT_TEXTURE'}:
                     sub.menu("VIEW3D_MT_%s" % mode_string.lower())
             else:
                 sub.menu("VIEW3D_MT_object")
@@ -71,11 +71,11 @@ class VIEW3D_HT_header(bpy.types.Header):
                 row.prop(toolsettings.particle_edit, "select_mode", text="", expand=True, toggle=True)
 
             # Occlude geometry
-            if view.viewport_shade in ('SOLID', 'SHADED', 'TEXTURED') and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')):
+            if view.viewport_shade in {'SOLID', 'SHADED', 'TEXTURED'} and (obj.mode == 'PARTICLE_EDIT' or (obj.mode == 'EDIT' and obj.type == 'MESH')):
                 row.prop(view, "use_occlude_geometry", text="")
 
             # Proportional editing
-            if obj.mode in ('EDIT', 'PARTICLE_EDIT'):
+            if obj.mode in {'EDIT', 'PARTICLE_EDIT'}:
                 row = layout.row(align=True)
                 row.prop(toolsettings, "proportional_edit", text="", icon_only=True)
                 if toolsettings.proportional_edit != 'DISABLED':
@@ -160,7 +160,7 @@ class VIEW3D_MT_transform(bpy.types.Menu):
         layout.separator()
 
         obj = context.object
-        if obj.type == 'ARMATURE' and obj.mode in ('EDIT', 'POSE') and obj.data.draw_type in ('BBONE', 'ENVELOPE'):
+        if obj.type == 'ARMATURE' and obj.mode in {'EDIT', 'POSE'} and obj.data.draw_type in {'BBONE', 'ENVELOPE'}:
             layout.operator("transform.transform", text="Scale Envelope/BBone").mode = 'BONE_SIZE'
 
         if context.edit_object and context.edit_object.type == 'ARMATURE':
@@ -766,7 +766,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu):
                 props.data_path_item = "data.dof_distance"
                 props.input_scale = 0.02
 
-        if obj.type in ('CURVE', 'FONT'):
+        if obj.type in {'CURVE', 'FONT'}:
             layout.operator_context = 'INVOKE_REGION_WIN'
 
             props = layout.operator("wm.context_modal_mouse", text="Extrude Size")
@@ -794,7 +794,7 @@ class VIEW3D_MT_object_specials(bpy.types.Menu):
             props.data_path_iter = "selected_editable_objects"
             props.data_path_item = "data.energy"
 
-            if obj.data.type in ('SPOT', 'AREA', 'POINT'):
+            if obj.data.type in {'SPOT', 'AREA', 'POINT'}:
                 props = layout.operator("wm.context_modal_mouse", text="Falloff Distance")
                 props.data_path_iter = "selected_editable_objects"
                 props.data_path_item = "data.distance"
@@ -1075,7 +1075,7 @@ class VIEW3D_MT_sculpt(bpy.types.Menu):
         if sculpt_tool != 'GRAB':
             layout.prop_menu_enum(brush, "stroke_method")
 
-            if sculpt_tool in ('DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'):
+            if sculpt_tool in {'DRAW', 'PINCH', 'INFLATE', 'LAYER', 'CLAY'}:
                 layout.prop_menu_enum(brush, "direction")
 
             if sculpt_tool == 'LAYER':
@@ -2002,7 +2002,7 @@ class VIEW3D_PT_view3d_name(bpy.types.Panel):
         row.label(text="", icon='OBJECT_DATA')
         row.prop(ob, "name", text="")
 
-        if ob.type == 'ARMATURE' and ob.mode in ('EDIT', 'POSE'):
+        if ob.type == 'ARMATURE' and ob.mode in {'EDIT', 'POSE'}:
             bone = context.active_bone
             if bone:
                 row = layout.row()
index f849729709fb32fcda808968e17709958e09405c..eb8d9a23d919eac3bb975a4d0da65ddbaf78db1e 100644 (file)
@@ -519,12 +519,12 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
 
             row.prop(brush, "use_pressure_size", toggle=True, text="")
 
-            if brush.sculpt_tool not in ('SNAKE_HOOK', 'GRAB', 'ROTATE'):
+            if brush.sculpt_tool not in {'SNAKE_HOOK', 'GRAB', 'ROTATE'}:
                 col.separator()
 
                 row = col.row(align=True)
 
-                if brush.use_space and brush.sculpt_tool not in ('SMOOTH'):
+                if brush.use_space and brush.sculpt_tool not in {'SMOOTH'}:
                     if brush.use_space_atten:
                         row.prop(brush, "use_space_atten", toggle=True, text="", icon='LOCKED')
                     else:
@@ -533,26 +533,26 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
                 row.prop(brush, "strength", text="Strength", slider=True)
                 row.prop(brush, "use_pressure_strength", text="")
 
-            if brush.sculpt_tool not in ('SMOOTH'):
+            if brush.sculpt_tool not in {'SMOOTH'}:
                 col.separator()
 
                 row = col.row(align=True)
                 row.prop(brush, "auto_smooth_factor", slider=True)
                 row.prop(brush, "use_inverse_smooth_pressure", toggle=True, text="")
 
-            if brush.sculpt_tool in ('GRAB', 'SNAKE_HOOK'):
+            if brush.sculpt_tool in {'GRAB', 'SNAKE_HOOK'}:
                 col.separator()
 
                 row = col.row(align=True)
                 row.prop(brush, "normal_weight", slider=True)
 
-            if brush.sculpt_tool in ('CREASE', 'BLOB'):
+            if brush.sculpt_tool in {'CREASE', 'BLOB'}:
                 col.separator()
 
                 row = col.row(align=True)
                 row.prop(brush, "crease_pinch_factor", slider=True, text="Pinch")
 
-            if brush.sculpt_tool not in ('PINCH', 'INFLATE', 'SMOOTH'):
+            if brush.sculpt_tool not in {'PINCH', 'INFLATE', 'SMOOTH'}:
                 row = col.row(align=True)
 
                 col.separator()
@@ -564,8 +564,8 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
 
                 row.prop(brush, "sculpt_plane", text="")
 
-            #if brush.sculpt_tool in ('CLAY', 'CLAY_TUBES', 'FLATTEN', 'FILL', 'SCRAPE'):
-            if brush.sculpt_tool in ('CLAY', 'FLATTEN', 'FILL', 'SCRAPE'):
+            #if brush.sculpt_tool in {'CLAY', 'CLAY_TUBES', 'FLATTEN', 'FILL', 'SCRAPE'}:
+            if brush.sculpt_tool in {'CLAY', 'FLATTEN', 'FILL', 'SCRAPE'}:
                 row = col.row(align=True)
                 row.prop(brush, "plane_offset", slider=True)
                 row.prop(brush, "use_offset_pressure", text="")
@@ -590,7 +590,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
             col.separator()
             col.row().prop(brush, "direction", expand=True)
 
-            if brush.sculpt_tool in ('DRAW', 'CREASE', 'BLOB', 'INFLATE', 'LAYER', 'CLAY'):
+            if brush.sculpt_tool in {'DRAW', 'CREASE', 'BLOB', 'INFLATE', 'LAYER', 'CLAY'}:
                 col.separator()
 
                 col.prop(brush, "use_accumulate")
@@ -632,7 +632,7 @@ class VIEW3D_PT_tools_brush(PaintPanel, bpy.types.Panel):
             col.prop(brush, "blend", text="Blend")
 
             col = layout.column()
-            col.active = (brush.blend not in ('ERASE_ALPHA', 'ADD_ALPHA'))
+            col.active = (brush.blend not in {'ERASE_ALPHA', 'ADD_ALPHA'})
             col.prop(brush, "use_alpha")
 
         # Weight Paint Mode #
@@ -709,32 +709,32 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
             col.separator()
 
             col = layout.column()
-            col.active = tex_slot.map_mode in ('FIXED', )
+            col.active = tex_slot.map_mode in {'FIXED'}
             col.label(text="Angle:")
 
             col = layout.column()
-            if not brush.use_anchor and brush.sculpt_tool not in ('GRAB', 'SNAKE_HOOK', 'THUMB', 'ROTATE') and tex_slot.map_mode in ('FIXED'):
+            if not brush.use_anchor and brush.sculpt_tool not in {'GRAB', 'SNAKE_HOOK', 'THUMB', 'ROTATE'} and tex_slot.map_mode in {'FIXED'}:
                 col.prop(brush, "texture_angle_source_random", text="")
             else:
                 col.prop(brush, "texture_angle_source_no_random", text="")
 
             #row = col.row(align=True)
             #row.label(text="Angle:")
-            #row.active = tex_slot.map_mode in ('FIXED', 'TILED')
+            #row.active = tex_slot.map_mode in {'FIXED', 'TILED'}
 
             #row = col.row(align=True)
 
             #col = row.column()
-            #col.active = tex_slot.map_mode in ('FIXED')
+            #col.active = tex_slot.map_mode in {'FIXED'}
             #col.prop(brush, "use_rake", toggle=True, icon='PARTICLEMODE', text="")
 
             col = layout.column()
             col.prop(tex_slot, "angle", text="")
-            col.active = tex_slot.map_mode in ('FIXED', 'TILED')
+            col.active = tex_slot.map_mode in {'FIXED', 'TILED'}
 
             #col = layout.column()
             #col.prop(brush, "use_random_rotation")
-            #col.active = (not brush.use_rake) and (not brush.use_anchor) and brush.sculpt_tool not in ('GRAB', 'SNAKE_HOOK', 'THUMB', 'ROTATE') and tex_slot.map_mode in ('FIXED')
+            #col.active = (not brush.use_rake) and (not brush.use_anchor) and (brush.sculpt_tool not in {'GRAB', 'SNAKE_HOOK', 'THUMB', 'ROTATE'}) and tex_slot.map_mode in {'FIXED'}
 
             split = layout.split()
 
@@ -754,7 +754,7 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
 
             row = col.row(align=True)
             row.label(text="Overlay:")
-            row.active = tex_slot.map_mode in ('FIXED', 'TILED')
+            row.active = tex_slot.map_mode in {'FIXED', 'TILED'}
 
             row = col.row(align=True)
 
@@ -765,11 +765,11 @@ class VIEW3D_PT_tools_brush_texture(PaintPanel, bpy.types.Panel):
             else:
                 col.prop(brush, "use_texture_overlay", toggle=True, text="", icon='MUTE_IPO_ON')
 
-            col.active = tex_slot.map_mode in ('FIXED', 'TILED')
+            col.active = tex_slot.map_mode in {'FIXED', 'TILED'}
 
             col = row.column()
             col.prop(brush, "texture_overlay_alpha", text="Alpha")
-            col.active = tex_slot.map_mode in ('FIXED', 'TILED') and brush.use_texture_overlay
+            col.active = tex_slot.map_mode in {'FIXED', 'TILED'} and brush.use_texture_overlay
 
 
 class VIEW3D_PT_tools_brush_tool(PaintPanel, bpy.types.Panel):
@@ -850,7 +850,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
                 row.active = brush.use_space
                 row.prop(brush, "spacing", text="Spacing")
 
-            if brush.sculpt_tool not in ('GRAB', 'THUMB', 'SNAKE_HOOK', 'ROTATE') and (not brush.use_anchor) and (not brush.use_restore_mesh):
+            if (brush.sculpt_tool not in {'GRAB', 'THUMB', 'SNAKE_HOOK', 'ROTATE'}) and (not brush.use_anchor) and (not brush.use_restore_mesh):
                 col = layout.column()
                 col.separator()
 
@@ -889,7 +889,7 @@ class VIEW3D_PT_tools_brush_stroke(PaintPanel, bpy.types.Panel):
             col.separator()
 
             col = layout.column()
-            col.active = (not brush.use_anchor) and (brush.sculpt_tool not in ('GRAB', 'THUMB', 'ROTATE', 'SNAKE_HOOK'))
+            col.active = (not brush.use_anchor) and (brush.sculpt_tool not in {'GRAB', 'THUMB', 'ROTATE', 'SNAKE_HOOK'})
 
             row = col.row()
             row.prop(brush, "use_space")
@@ -1022,8 +1022,8 @@ class VIEW3D_PT_tools_brush_appearance(PaintPanel, bpy.types.Panel):
         col = layout.column()
 
         if context.sculpt_object and context.tool_settings.sculpt:
-            #if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE', 'CLAY_TUBES'):
-            if brush.sculpt_tool in ('DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE'):
+            #if brush.sculpt_tool in {'DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE', 'CLAY_TUBES'}:
+            if brush.sculpt_tool in {'DRAW', 'INFLATE', 'CLAY', 'PINCH', 'CREASE', 'BLOB', 'FLATTEN', 'FILL', 'SCRAPE'}:
                 col.prop(brush, "cursor_color_add", text="Add Color")
                 col.prop(brush, "cursor_color_subtract", text="Subtract Color")
             else: